asp.net-mvc – MVC3:使用ActionMethodSelectorAttribute会导致
发布时间:2020-12-16 09:50:27 所属栏目:asp.Net 来源:网络整理
导读:以下属性用于限制对ajax请求使用操作: public class AjaxRequestAttribute : ActionMethodSelectorAttribute{ public override bool IsValidForRequest(ControllerContext controllerContext,System.Reflection.MethodInfo methodInfo) { return controller
以下属性用于限制对ajax请求使用操作:
public class AjaxRequestAttribute : ActionMethodSelectorAttribute { public override bool IsValidForRequest(ControllerContext controllerContext,System.Reflection.MethodInfo methodInfo) { return controllerContext.HttpContext.Request.IsAjaxRequest(); } } 我定义了以下控制器操作方法: [AjaxRequest] public ActionResult Login() { ... } [HttpPost,AjaxRequest] public ActionResult Login(LoginModel model,string returnUrl) { ... } 制作ajax帖子时发生以下错误:
使用附加属性时似乎忽略了HttpPost属性.如果我从这两个方法中删除AjaxRequest属性,那么代码就可以了. 什么应该是正确的实施?谢谢! 解决方法
按照Pawel的要求,这里是代码:
public class AjaxGetAttribute : ActionMethodSelectorAttribute { public override bool IsValidForRequest(ControllerContext controllerContext,MethodInfo methodInfo) { var isHttpGet = new AcceptVerbsAttribute(HttpVerbs.Get).IsValidForRequest(controllerContext,methodInfo); return isHttpGet && controllerContext.HttpContext.Request.IsAjaxRequest(); } } public class AjaxPostAttribute : ActionMethodSelectorAttribute { public override bool IsValidForRequest(ControllerContext controllerContext,MethodInfo methodInfo) { var isHttpPost = new AcceptVerbsAttribute(HttpVerbs.Post).IsValidForRequest(controllerContext,methodInfo); return isHttpPost && controllerContext.HttpContext.Request.IsAjaxRequest(); } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc-2 – 为什么我们在ASP.NET MVC中使用HTML助手?
- List<T>集合的Sort自定义排序用法简单解析
- ASP.NET /数据库性能清单
- asp.net-mvc-3 – 在asp.net MVC 3中使用WIF,我在哪里定义S
- asp.net-mvc – 带有Base64编码的JsonResult
- asp.net-mvc – MVC中的绑定集合
- ASP.NET MVC和HTML5
- asp.net-mvc – ASP.NET MVC – CustomeAuthorize使用外部网
- asp.net-mvc – ASP.NET MVC页面/子页面路由
- asp.net – 尝试通过IP地址保护文件夹中的所有aspx文件
推荐文章
站长推荐
热点阅读