有没有一种好的方法来限制对一个 Action 的访问,这样你就只能访问它,如果你是从另一个 Action 重定向的。例如:
[HttpPost]
public virtual ActionResult Create(MyViewModel vm)
{
if (ModelState.IsValid)
{
// do some work
return RedirectToAction("CreateSuccess");
}
else
{
return View(vm);
}
}
public virtual ActionResult CreateSuccess()
{
// only allow execution if you were redirected from Action "Create"
}
最佳答案
一个简单的方法是在 TempData 中存储一个标志在第一个方法中检查该标志是否存在于重定向到的方法中。
TempData 用于在操作请求之间传递状态信息,并且只会持续请求的持续时间,因此您无需担心清除它。
关于c# - 仅在从特定操作重定向时才允许访问操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3864366/