圣地亚哥是正确的,ASP.NET MVC是很大程度上基于惯例,但在其上扩展更多,当控制器看起来是这样的:
public class FooController : Controller
{
public ActionResult Bar()
{
return View();
}
}
按照惯例,视图引擎将一个视图中进行搜索名为在以下位置Bar
:
~/Views/Foo
~/Views/Shared
这是很容易通过添加一个新的动作,而不是增加的角度看,你会得到这个信息的异常屏幕:
The view 'Bar' or its master was not found or no view engine supports the searched
locations. The following locations were searched:
~/Views/Foo/Bar.aspx
~/Views/Foo/Bar.ascx
~/Views/Shared/Bar.aspx
~/Views/Shared/Bar.ascx
~/Views/Foo/Bar.cshtml
~/Views/Foo/Bar.vbhtml
~/Views/Shared/Bar.cshtml
~/Views/Shared/Bar.vbhtml
同样的,如果你有它会寻找相同的位置下ViewNameHere
。
要回答你的问题,即使一个项目可能有数以百计的观点和行为可以返回多个视图,除非你重写视图引擎的行为,所有的意见都进行分组根据自己的控制器或放置在共享文件夹。