确定AJAX请求
我正在使用ActionFilter来确定用户是否有权访问某个特定资源(如帐户对象(la Rhino安全性)),然后再执行操作。 这是一个全局过滤器,如果授权值失败,它将重定向到错误页面
我正在使用以下代码,该代码适用于完整页面请求:
filterContext.Controller.TempData["ErrorMessage"] = string.Format("You are not authorized to perform operation: {0}", operation);
filterContext.Result = new RedirectResult("~/Error/AuthorizationError");
Ajax请求我不想应用重定向,而是返回错误消息。 如果这是一个AJAX请求或一个普通的完整页面(抱歉,不确定正确的术语)请求,有没有一种方法可以告诉Action Filter?
提前致谢
J.P
你可以使用IsAjaxRequest扩展方法:
if (filterContext.HttpContext.Request.IsAjaxRequest())
{
// it was an AJAX request
...
}
else
{
// it was a standard request
filterContext.Controller.TempData["ErrorMessage"] = string.Format("You are not authorized to perform operation: {0}", operation);
filterContext.Result = new RedirectResult("~/Error/AuthorizationError");
}
链接地址: http://www.djcxy.com/p/71799.html