我有我的控制器(shoppingCartController)Asp.net mvc如何防止浏览器调用操作方法?
public ActionResult Index()
{
//some stuff here
return View(viewModel);
}
public ActionResult AddToCart(int id)
{
return RedirectToAction("Index");
}
反正是有防止用户直接调用在浏览器中键入URL索引操作中两个动作?
例如:如果用户浏览到shoppingCart/index
被重定向到Home/Index。
如果我把我的索引方法[ChildActionOnly]它不会从redirectToAction调用。它只适用于如果我有html.action()。另外controllerContext.ischildAction不会将redirecttoaction识别为childaction调用。 – 1AmirJalali 2012-02-23 04:59:51
如果你想要一个像常规操作那样工作的动作(也就是你可以使用RedirectToAction),但只能从一个地方重定向,你可以尝试检查动作中的引用者,如果引用者不是引用,则重定向到home/index AddToCart网址。尽管如此,这不是万无一失的,因为引用者可能会被欺骗。 – 2012-02-23 05:11:41
我打算检查响应状态码。我应该如何检查参考? – 1AmirJalali 2012-02-23 05:18:07