可以解决以下情况吗?
- 我有一个观点:全部 .cshtml
- 我有一个控制器和两个动作(全部, FakeAll )
我想禁止从 FakeAll操作(以及其他假货或任何人)获得所有视图。
public ActionResult FakeAll()
{
//There is some setting what ALWAYS have to be runned
//before the All view is displayed
return View("All");
//It should be throw a design time error or an exception
}
public ActionResult All()
{
return View("All");
//It should be display the view without any interception as its do it now.
}
All View的访问权限应仅通过All Action执行。
主要的是:
当有人试图调用return View("All");
时,它应该会出现错误或其他事情
答案 0 :(得分:1)
您可以“覆盖”Controller方法View
public ViewResult View(string viewName,
[CallerMemberName]string memberName = "")
{
if (viewName != memberName)
{
throw new ArgumentException("Invalid view name");
}
return base.View(viewName);
}
如果调用View()
的方法名称与视图名称不同,则会引发异常。