问题标签 [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.
asp.net-mvc - 多个添加场景中的 ModelState 验证
我的看法如下
在 ViewModel 中,这个 ItemName 有一个用于验证目的的必需属性注释,但我真正需要的是至少一个 ItemName 被填充以假设这个模型是有效的,但我总是会得到 The ModelState IsValid = False
asp.net-mvc - 在控制器中获取模型的类型
有没有办法在model
不访问参数的情况下获得一种类型?
我的控制器:
方法SomeMethod(Type type)
将在许多其他操作中被调用。和
不适合。
asp.net-mvc-5 - 找到多个与 URL 匹配的控制器类型。如果多个控制器上的属性路由与请求的 URL 匹配,就会发生这种情况
...猜猜我是第一个问这个的?
假设您有以下路由,每个路由都在不同的控制器上声明:
Order
...您可以在 MVC 5.0 中使用相同的代码执行此操作,但参数除外。但升级到 MVC 5.1 后,您会在问题标题中看到异常消息:
找到多个与 URL 匹配的控制器类型。如果多个控制器上的属性路由与请求的 URL 匹配,就会发生这种情况。
那么新RouteAttribute.Order
属性只是控制器级别的吗?我知道在 AttributeRouting.NET 中你也可以这样做SitePrecedence
。当所有操作都在同一个控制器中时,唯一的方法是拥有上述路由吗?
更新
抱歉,我应该提到这些路由是在 MVC 控制器上,而不是 WebAPI。我不确定这会如何影响 ApiControllers。
c# - 如何获取控制器方法的返回值?
在 MVC4 中,我试图在另一个控制器方法中使用一个控制器方法,RedirectToAction
但是在尝试接收其他控制器方法的返回值时显示错误。
我有以下控制器方法:
另一种控制器方法:
如何解决它,我的意思是我想Load_Surahs
在方法中使用返回的对象列表Search_Query
...
c# - 在 C# 中获取所有控制器和操作名称
是否可以以编程方式列出所有控制器的名称及其操作?
我想为每个控制器和操作实现数据库驱动的安全性。作为一名开发人员,我知道所有控制器和操作,并且可以将它们添加到数据库表中,但是有没有办法自动添加它们?
asp.net-mvc - 如何在 mvc 控制器类中呈现 ascx 控件
我有一个混合项目。在此之前它是一个 Web 表单项目,然后我们将其转换为 mvc 项目,现在旧页面是 Web 表单,新页面是 mvc。
我有一个名为 PickImage.ascx 的控件
通常我可以使用以下代码加载控件。
但现在我想在 mvc 控制器页面中做同样的事情。我怎样才能做到这一点?
asp.net-mvc - 如何将我的 ActionResult 返回到正确的视图?
我有一个 MVC 3 Web 应用程序(实际上更像是一个子应用程序),它不依赖 ASPNET 进行身份验证,因为它已经在应用程序的另一个区域中使用,并且我们正在使用不同类型的凭据。无论如何,我决定使用自己的 SQL 表创建自己的身份验证系统,该表在应用程序中的一个表单上运行良好。现在,我正在尝试将其滚动到共享布局中,在主控制器中调用“登录”操作。我遇到的问题是如何从该登录操作返回到用户所在的位置。当我尝试“返回视图();” 可以理解的是,它会尝试返回不存在的 Home/Login 视图。我如何从这个动作返回到动作之前的任何地方?所有视图都使用共享布局,所以我希望这相当简单!
c# - 当控制器名称与文件夹名称匹配时,MVC 无法匹配默认操作?
我在尝试为我的 MVC 项目建立非常规文件夹结构时遇到了一个奇怪的问题:
我的计划是在每个子文件夹中有 1 个控制器,以及关联的视图/视图模型文件夹。我不希望有一个只包含一个类的 /Controllers/ 文件夹。
出于测试目的,我手动路由是这样的:
我遇到了神秘的行为。这些 URL 正确路由:
但是此 URL 失败并出现“Web 服务器配置为不列出此目录的内容”错误:
我发现只有当控制器名称与文件夹名称匹配时才会发生这种情况(减去“*Controller”)。因此,将控制器名称更改为其他名称可以使其工作:
当 URL 依赖于默认操作和 ID 时,为什么具有匹配名称的控制器和文件夹会导致它失败?
编辑
经过调查,事实证明 IIS 将请求路由到 DirectoryListingModule 而不是 MVC,因此它甚至没有到达 MVC 路由。
我尝试了以下方法无济于事:
如何强制 IIS 将这些请求路由到 MVC 而不是 DirectoryListingModule?最好没有 IIS 配置更改,我可能无法控制生产。
asp.net-mvc - 阻止用户显式访问 MVC 页面
如何防止用户在 MVC 中手动输入页面的 URL?
例如,我有一个返回错误视图的控制器方法:
编辑:以及返回成功视图的控制器方法:
如果订购过程中出现问题,我会重定向到它:
但是用户可以手动输入“www.mysite.com/Checkout/Error”,并在结帐工作流的上下文之外获取错误视图。
我环顾四周,发现 ChildActionOnly,但这似乎只适用于从视图中调用操作,这不适用于这里。
我想我可以在错误操作方法的开头手动检查订单是否确实存在问题,并在这种情况下返回错误视图并重定向用户,但似乎必须有一个更简单的防止用户手动导航到这样的页面的方法。
编辑:这同样适用于完成的视图。用户可以输入对应于操作的 URL。如何防止像这样调用此操作?
asp.net-mvc - 使用控制器方法提交表单
我试图从视图中调用一个方法,但它不起作用!:(
我的控制器代码:
我的意见代码:
专业指数:
总和视图:
不会发生任何错误,当我单击 Sum 按钮时没有任何反应。