Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- MVC3: Use of ActionMethodSelectorAttribute causes HttpPostAttribute to be ignored
- 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)
- {
- ...
- }
- public class AjaxPostRequestAttribute : HttpPostAttribute
- {
- public override bool IsValidForRequest(
- ControllerContext controllerContext, MethodInfo methodInfo)
- {
- var isHttpPost = base.IsValidForRequest(controllerContext, methodInfo);
- return isHttpPost
- && controllerContext.HttpContext.Request.IsAjaxRequest();
- }
- }
- [AjaxPostRequest]
- public ActionResult Login(LoginModel model, string returnUrl)
- {
- ...
- }
- 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();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement