我有一个MVC的Action方法:
[HttpPost]
public ActionResult callAction(int Id, string ffs, string sid)
{
//Business Logic
return View();
}
并且从JS </ p>调用此动作
var _url = vpath + '/contraller/callAction' + sidpath + '?Id=' + id + '&ffs=' + bfSelected + '&s=' + fps;
clickCount = 1;
$.post(_url, function (data) {
if (data.Completed) {
location.href = data.ReturnUrl;
}
});
现在我想阻止从世界各地调用这个动作。应该仅从同一个应用程序调用此操作。 我用了 [ChildActionOnly]
但不起作用
答案 0 :(得分:2)
使用操作中的ControllerContext.IsChildAction属性来确定是否要重定向。
例如:
public ActionResult Index()
{
if(!ControllerContext.IsChildAction)
{
//perform redirect here
}
//do stuff here
return View(viewModel);
}