新网创想网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
Asp.net MVC项目中有很多默认约定。包括控制器约定、视图约定等等。
专注于为中小企业提供网站制作、成都网站设计服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业白沙黎族免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上千多家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
1、Controller必须是非静态类
2、Controller必须实现接口IController
3、控制器的类名必须以Controller结尾;如HomeController;
如下面是一个标准Controller:
1 | public class HomeController : Controller |
4、项目中引用控制器时,例如使用HTML RenderAction方法时,只需要指定前半部分的名称;例如Home;
1 | @Html.RenderAction("Check", "Home", null); //Home是Controller |
5、可以自己实现IControllerFactory接口创建你定制的约定;
1、视图或分部视图要放置在/Views/Controllername文件夹中;
例如,HomeController的视图总是放在/Views/Home文件夹里面;
当然,熟悉了MVC之后,是可以定制Views的路径的。
2、Action方法默认的视图与Action同名;
例如,HomeController里有一个Content的Action,则Content的默认视图是/Views/Home/Content.cshtml。
我们在调用的时候,如果不传递参数return View();那么默认使用的是Content视图。如果我们希望使用其他视图,则可以将视图名称参数传入,如return View("index");这样就使用/Views/Home/Index视图呈现。
3、查找视图的顺序
Asp.net MVC查找视图路径的默认顺序是:
1、/Views/ControlloerName/;
2、/Views/Shared/;
如果以上两个地方都没有查找到视图,则报错;
如,我们访问/Home/Content。其默认查找视图的顺序如下:
1、布局文件需要添加"_"前缀。并且存放在/Views/Shared文件夹下。当我们创建视图时,默认会使用_Layout.cshtml作为布局模板。
如果不想要模板的单页面,可以选择"不使用母版页",或在页面顶部加入如下代码
1 2 3 | @{ Layout = null ; } |
出处:Asp.net MVC中的约定