问题标签 [asp.net-mvc-controller]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
125 浏览

asp.net-mvc - 多个添加场景中的 ModelState 验证

我的看法如下

在 ViewModel 中,这个 ItemName 有一个用于验证目的的必需属性注释,但我真正需要的是至少一个 ItemName 被填充以假设这个模型是有效的,但我总是会得到 The ModelState IsValid = False

0 投票
2 回答
434 浏览

asp.net-mvc - 在控制器中获取模型的类型

有没有办法在model不访问参数的情况下获得一种类型?

我的控制器:

方法SomeMethod(Type type)将在许多其他操作中被调用。和

不适合。

0 投票
3 回答
20060 浏览

asp.net-mvc-5 - 找到多个与 URL 匹配的控制器类型。如果多个控制器上的属性路由与请求的 URL 匹配,就会发生这种情况

...猜猜我是第一个问这个的?

假设您有以下路由,每个路由都在不同的控制器上声明:

Order...您可以在 MVC 5.0 中使用相同的代码执行此操作,但参数除外。但升级到 MVC 5.1 后,您会在问题标题中看到异常消息:

找到多个与 URL 匹配的控制器类型。如果多个控制器上的属性路由与请求的 URL 匹配,就会发生这种情况。

那么新RouteAttribute.Order属性只是控制器级别的吗?我知道在 AttributeRouting.NET 中你也可以这样做SitePrecedence。当所有操作都在同一个控制器中时,唯一的方法是拥有上述路由吗?

更新

抱歉,我应该提到这些路由是在 MVC 控制器上,而不是 WebAPI。我不确定这会如何影响 ApiControllers。

0 投票
3 回答
2010 浏览

c# - 如何获取控制器方法的返回值?

在 MVC4 中,我试图在另一个控制器方法中使用一个控制器方法,RedirectToAction但是在尝试接收其他控制器方法的返回值时显示错误。

我有以下控制器方法:

另一种控制器方法:

如何解决它,我的意思是我想Load_Surahs在方法中使用返回的对象列表Search_Query...

0 投票
11 回答
65791 浏览

c# - 在 C# 中获取所有控制器和操作名称

是否可以以编程方式列出所有控制器的名称及其操作?

我想为每个控制器和操作实现数据库驱动的安全性。作为一名开发人员,我知道所有控制器和操作,并且可以将它们添加到数据库表中,但是有没有办法自动添加它们?

0 投票
1 回答
552 浏览

asp.net-mvc - 如何在 mvc 控制器类中呈现 ascx 控件

我有一个混合项目。在此之前它是一个 Web 表单项目,然后我们将其转换为 mvc 项目,现在旧页面是 Web 表单,新页面是 mvc。

我有一个名为 PickImage.ascx 的控件

通常我可以使用以下代码加载控件。

但现在我想在 mvc 控制器页面中做同样的事情。我怎样才能做到这一点?

0 投票
1 回答
98 浏览

asp.net-mvc - 如何将我的 ActionResult 返回到正确的视图?

我有一个 MVC 3 Web 应用程序(实际上更像是一个子应用程序),它不依赖 ASPNET 进行身份验证,因为它已经在应用程序的另一个区域中使用,并且我们正在使用不同类型的凭据。无论如何,我决定使用自己的 SQL 表创建自己的身份验证系统,该表在应用程序中的一个表单上运行良好。现在,我正在尝试将其滚动到共享布局中,在主控制器中调用“登录”操作。我遇到的问题是如何从该登录操作返回到用户所在的位置。当我尝试“返回视图();” 可以理解的是,它会尝试返回不存在的 Home/Login 视图。我如何从这个动作返回到动作之前的任何地方?所有视图都使用共享布局,所以我希望这相当简单!

0 投票
1 回答
926 浏览

c# - 当控制器名称与文件夹名称匹配时,MVC 无法匹配默认操作?

我在尝试为我的 MVC 项目建立非常规文件夹结构时遇到了一个奇怪的问题:

我的计划是在每个子文件夹中有 1 个控制器,以及关联的视图/视图模型文件夹。我不希望有一个只包含一个类的 /Controllers/ 文件夹。

出于测试目的,我手动路由是这样的:

我遇到了神秘的行为。这些 URL 正确路由:

但是此 URL 失败并出现“Web 服务器配置为不列出此目录的内容”错误:

我发现只有当控制器名称与文件夹名称匹配时才会发生这种情况(减去“*Controller”)。因此,将控制器名称更改为其他名称可以使其工作:

当 URL 依赖于默认操作和 ID 时,为什么具有匹配名称的控制器和文件夹会导致它失败?

编辑

经过调查,事实证明 IIS 将请求路由到 DirectoryListingModule 而不是 MVC,因此它甚至没有到达 MVC 路由。

我尝试了以下方法无济于事:

如何强制 IIS 将这些请求路由到 MVC 而不是 DirectoryListingModule?最好没有 IIS 配置更改,我可能无法控制生产。

0 投票
1 回答
2783 浏览

asp.net-mvc - 阻止用户显式访问 MVC 页面

如何防止用户在 MVC 中手动输入页面的 URL?

例如,我有一个返回错误视图的控​​制器方法:

编辑:以及返回成功视图的控制器方法:

如果订购过程中出现问题,我会重定向到它:

但是用户可以手动输入“www.mysite.com/Checkout/Error”,并在结帐工作流的上下文之外获取错误视图。

我环顾四周,发现 ChildActionOnly,但这似乎只适用于从视图中调用操作,这不适用于这里。

我想我可以在错误操作方法的开头手动检查订单是否确实存在问题,并在这种情况下返回错误视图并重定向用户,但似乎必须有一个更简单的防止用户手动导航到这样的页面的方法。

编辑:这同样适用于完成的视图。用户可以输入对应于操作的 URL。如何防止像这样调用此操作?

0 投票
1 回答
1242 浏览

asp.net-mvc - 使用控制器方法提交表单

我试图从视图中调用一个方法,但它不起作用!:(

我的控制器代码:

我的意见代码:

专业指数:

总和视图:

不会发生任何错误,当我单击 Sum 按钮时没有任何反应。