我在我的控制器中写了几个部分方法,它正在访问直接输入url。我想限制那些特定的方法。我使用[ChildActionOnly]属性来限制它。它工作正常,但我使用Ajax调用来访问这些方法。 Ajax调用在ChildActionOnly中不起作用。是否有任何属性将阻止url并允许Ajax调用? 感谢。
答案 0 :(得分:4)
您可以使用Request.IsAjaxRequest()
来确定呼叫是否是ajax呼叫,并执行您想做的任何事情。
public ActionResult TestRadioButtons()
{
if(!Request.IsAjaxRequest())
return new HttpNotFoundResult("Not found");
//continue processing
// to do :Return something
}
如果您愿意,您可以简单地将用户重定向到另一个页面(非ajax操作方法),而不是返回NotFound结果。
if(!Request.IsAjaxRequest())
{
return RedirectToAction("Index");
}