asp.net-mvc – ASP.NET MVC AcceptVerbs和注册路由
发布时间:2020-12-15 18:38:12 所属栏目:asp.Net 来源:网络整理
导读:如果我已经用[AcceptVerbs(..)]属性装饰了我的动作方法,我必须在路由定义(注册路由时)注册HttpVerb约束? 例如。我有这个。 [AcceptVerbs(HttpVerbs.Post)]public ActionResult Create(FormCollection formCollection){ .. } 我需要添加到引用此操作的路由
如果我已经用[AcceptVerbs(..)]属性装饰了我的动作方法,我必须在路由定义(注册路由时)注册HttpVerb约束?
例如。我有这个。 [AcceptVerbs(HttpVerbs.Post)] public ActionResult Create(FormCollection formCollection) { .. } 我需要添加到引用此操作的路由作为约束吗? 解决方法
两者之间的区别如下:我们假设有关的Create方法是在HomeController上。
使用AcceptVerbs属性不影响路由。它实际上是动作调用者使用的东西。它允许您做的是在控制器上具有两个与每个响应不同的HTTP方法相同的名称的操作方法。 public ActionResult Create(int id) { .. } [AcceptVerbs(HttpVerbs.Post)] public ActionResult Create(FormCollection formCollection) { .. } 因此,当/ home / create的请求进入时,路由将匹配并将请求切换到控制器的调用者。然后,调用者通过查看AcceptVerbs属性来调用正确的方法。 在路由中使用HttpMethodConstraint将使路由本身与请求不匹配。所以当POST请求进入/ home / create时,既不会调用action方法,因为该路由与请求不匹配。有可能另外一条路线会匹配那个请求。 这里重叠的部分原因是路由是ASP.NET 3.5 SP1的一个功能,并不是MVC特有的。 MVC使用路由,但动态数据也使用路由,我们计划将路由与ASP.NET Web窗体集成。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc-3 – 没有表单身份验证的AntiForgeryToken
- asp.net – 显示为普通html的.cshtml文件
- asp.net-mvc – ASP.NET MVC ViewModel方法 – 是“合法”吗
- asp.net-mvc – ASP.NET MVC:多视图文件夹和_ViewStart.cs
- asp.net – 如何在mvc3中对来自@ Html.LabelFor()的内容进行
- 是否值得在ASP.NET中使用PLINQ?
- asp.net-mvc – 为什么DropDownListFor会在提交后丢失多个选
- asp.net-mvc – 保存为“BodyPart_3ded2bfb-40be-4183-b789
- asp.net-mvc – 程序集使用System.Web.Http 5.1,它比引用的
- 如何从asp.net中的javascript调用codebehind函数?
推荐文章
站长推荐
- 如何在没有布局页面的情况下将部分脚本添加到asp
- asp.net-mvc – MVC可选参数默认值
- asp.net-web-api – Hot Towel / Durandal / Bre
- .Net Core技术研究-Span<T>和ValueTuple<T&
- AntiForgery令牌使用ASP.NET5 Web API而不使用NE
- .NET Core全新的配置管理[共9篇]
- asp.net – 如何从TableAdapter中检索存储过程返
- asp.net – Knockout.js – 数据绑定的javascrip
- rest – 基于权限从WebApi端点进行上下文序列化
- ASP.NET:跨应用程序的表单身份验证:匹配密码加
热点阅读