Asp.net MVC中的约定

发布时间:2020-07-05 21:51:09 作者:kissdodog
来源:网络 阅读:817

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文件夹里面;

Asp.net MVC中的约定

当然,熟悉了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。其默认查找视图的顺序如下:

Asp.net MVC中的约定

三、布局的约定


1、布局文件需要添加"_"前缀。并且存放在/Views/Shared文件夹下。当我们创建视图时,默认会使用_Layout.cshtml作为布局模板。

如果不想要模板的单页面,可以选择"不使用母版页",或在页面顶部加入如下代码

1
2
3
@{
    Layout = null;
}

出处:Asp.net MVC中的约定

推荐阅读:
  1. ASP.NET Core MVC 配置全局路由前缀
  2. ASP.NET Web API 特性

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

asp net mvc

上一篇:EXCHANGE事务日志和邮箱数据库的存储位置

下一篇:Python3网络爬虫实战-5、Web库的安装:Flask、Tornado

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》