聖地亞哥是正確的,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
。
要回答你的問題,即使一個項目可能有數以百計的觀點和行爲可以返回多個視圖,除非你重寫視圖引擎的行爲,所有的意見都進行分組根據自己的控制器或放置在共享文件夾。