public class HomeController : Controller
{
[SampleActionFilter]
public ActionResult AjaxAction()
{
return Content("Ajax Action Result");
}
}
public class SampleActionFilterAttribute : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
if (filterContext.HttpContext.Request.IsAjaxRequest())
{
// Do something for AJAX request
filterContext.Result = new JsonResult()
{
Data = "Error: AJAX request not allowed",
JsonRequestBehavior = JsonRequestBehavior.AllowGet
};
}
base.OnActionExecuting(filterContext);
}
}
通过以下代码测试它:
$.ajax({
type: "GET",
url: "/home/ajaxaction",
success: function (data) {
alert(data);
},
error: function (data) {
alert(data.responseText);
}
});