Asp.net MVC项目中有不少默认约定。包括控制器约定、视图约定等等。html
一、Controller必须是非静态类c#
二、Controller必须实现接口IControlleride
三、控制器的类名必须以Controller结尾;如HomeController;布局
以下面是一个标准Controller:spa
1
|
public
class
HomeController : Controller
|
四、项目中引用控制器时,例如使用HTML RenderAction方法时,只须要指定前半部分的名称;例如Home;.net
1
|
@Html.RenderAction("Check", "Home", null); //Home是Controller
|
五、能够本身实现IControllerFactory接口建立你定制的约定;code
一、视图或分部视图要放置在/Views/Controllername文件夹中;htm
例如,HomeController的视图老是放在/Views/Home文件夹里面;接口
固然,熟悉了MVC以后,是能够定制Views的路径的。ci
二、Action方法默认的视图与Action同名;
例如,HomeController里有一个Content的Action,则Content的默认视图是/Views/Home/Content.cshtml。
咱们在调用的时候,若是不传递参数return View();那么默认使用的是Content视图。若是咱们但愿使用其余视图,则能够将视图名称参数传入,如return View("index");这样就使用/Views/Home/Index视图呈现。
三、查找视图的顺序
Asp.net MVC查找视图路径的默认顺序是:
一、/Views/ControlloerName/;
二、/Views/Shared/;
若是以上两个地方都没有查找到视图,则报错;
如,咱们访问/Home/Content。其默认查找视图的顺序以下:
一、布局文件须要添加"_"前缀。而且存放在/Views/Shared文件夹下。当咱们建立视图时,默认会使用_Layout.cshtml做为布局模板。
若是不想要模板的单页面,能够选择"不使用母版页",或在页面顶部加入以下代码
1
2
3
|
@{
Layout =
null
;
}
|