MVC的默認約定

MVC項目中有不少默認約定,一種是對項目目錄分配的約定,好比默認狀況下須要將Javascript文件放置在Script文件夾中,但這並不妨礙你將這個文件夾從新命名,也能夠將整個文件夾放置到任何想要放置的地方,並不會影響程序的正常運行。另一種就是要遵循所謂的慣例優先原則(principle of convention over configuration),對於不少項目來講,嚴格聽從已有慣例和使用合理的缺省選項大概是這些項目須要的,這意味着,若是創建了一套命名規範,諸如此類,就能夠顯著地減小系統所需配置項目的數量, 來創建處理器映射、視圖解析器、ModelAndView實例,等等。 這爲快速原型開發提供了很大方便。同時提供了必定程度的(一般是好事情)代碼庫的一致性,進而能夠從中選擇並發展爲成型產品。html

----有關控制器類的規範約定併發

  • 控制器類名必須以Controller結尾;例如ProductController
  • 項目中引用控制器時,例如使用HTML helper方法時,只須要指定前半部分的名稱;例如Product;
  • 能夠經過實現IControllerFactory接口建立定製的約定,雖然不必這樣作;

----有關視圖的約定框架

  • 視圖或分部視圖要放置在/Views/Controllername文件夾中,好比一個與ProductController類相關的視圖應放置在/Views/Product文件夾中;
  • MVC框架但願一個action方法的默認視圖應該以方法名進行命名,好比一個List方法的視圖應該命名爲List.cshtml。因爲List方法位於ProductController類中,則默認的視圖應該是/Views/Product/List.cshtml.
  • 若是在action方法中直接調用return View(); 則顯示默認視圖;若是顯示其餘指定視圖,則須要在action方法中調用return View("MyOtherView"); 
  • MVC框架搜索視圖路徑的默認順序是:先在/Views/Controlloername/文件夾下查找,若是沒有找到,就在/Views/Shared/文件夾下查找,仍未找到,則報錯;

----有關佈局的約定佈局

  • 佈局文件須要在文件加「_」前綴,而且放置在/Views/Shared文件夾下,默認狀況下除了空項目模板都使用_Layout.cshtml做爲佈局模板,而且在/Views/_ViewStart.cshtml下進行調用。
  • 若是想用指定的佈局替代,則修改_ViewStart.cshtml:
@{
            Layout="~/Views/Shared/MyLayout.cshtml";
}
  • 或者想禁用佈局,則修改_ViewStart.cshtml:
@
{
       Layout=null;     
}
相關文章
相關標籤/搜索