MVC的默认约定
MVC项目中有很多默认约定,一种是对项目目录分配的约定,比如默认情况下需要将Javascript文件放置在Script文件夹中,但这并不妨碍你将这个文件夹重新命名,也可以将整个文件夹放置到任何想要放置的地方,并不会影响程序的正常运行。另外一种就是要遵循所谓的惯例优先原则(principle of convention over configuration),对于很多项目来说,严格遵从已有惯例和使用合理的缺省选项大概是这些项目需要的,这意味着,如果建立了一套命名规范,诸如此类,就可以显著地减少系统所需配置项目的数量, 来建立处理器映射、视图解析器、ModelAndView实例,等等。 这为快速原型开发提供了很大方便。同时提供了一定程度的(通常是好事情)代码库的一致性,进而可以从中选择并发展为成型产品。
----有关控制器类的规范约定
- 控制器类名必须以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;
}
MVC的默认约定的更多相关文章
- asp.net -mvc框架复习(4)-ASP.NET MVC中的约定规则
1.路由规则 using System;using System.Collections.Generic;using System.Linq;using System.Web;using System ...
- 修改MVC视图默认搜索规则(IViewEngine)
前几天我自己在写一个系统,写到后台管理系统的时候,我突然有个想法就是:想在区域视图下新建文件,单独处理后台一些业务:Area/AdminManager/View/Content/Index.cshtm ...
- 4.翻译系列:EF 6 Code-First默认约定(EF 6 Code-First系列)
原文地址:http://www.entityframeworktutorial.net/code-first/code-first-conventions.aspx EF 6 Code-First系列 ...
- C# MVC的默认页
MVC的默认页,其实是默认路由设置启动哪一个Controller的哪一个Action,在根目录的Global.asax.cs里面设置.是MVC项目里面的路由.將下面的controller和action ...
- EF CodeFirst简介、默认约定、数据库初始化策略
CodeFirst 工作流程 创建或修改领域类-->使用数据注解或者Fluent API来配置领域类-->使用自动数据库迁移技术或者基于代码的数据库迁移技术来创建数据库. CodeFirs ...
- MVC中Url请求与控制器的默认约定
1.请求的url如:http://localhost:52481/Home/Browse?genre=1控制器方法:public string Browse(string genre) //这里返回值 ...
- 设置ASP.NET MVC站点默认页为.html页 .
同事部署了一个Asp.Net MVC的站点,希望它的默认页是index.html页,在vs2010中给站点根目录增加了index.html,然后调用没有什么问题,但部署到IIS7上,在功能试图=> ...
- Spring 4 官方文档学习(十一)Web MVC 框架之约定优于配置
当返回一个ModelAndView时,可以使用其addObject(Object obj)方法,此时的约定是: An x.y.User instance added will have the nam ...
- ASP.NET MVC 5 默认模板的JS和CSS 是怎么加载的?
当创建一个默认的mvc模板后,项目如下: 运行项目后,鼠标右键查看源码,在源码里看到头部和尾部都有js和css文件被引用,他们是怎么被添加进来的呢? 首先我们先看对应的view文件index.csht ...
随机推荐
- 2018.07.29~30 uoj#170. Picks loves segment tree VIII(线段树)
传送门 线段树好题. 维护区间取两种最值,区间加,求区间两种历史最值,区间最小值. 自己的写法调了一个晚上+一个上午+一个下午+一个晚上并没有调出来,90" role="prese ...
- UVa 11167 Monkeys in the Emei Mountain (最大流)
题意:雪雪是一只猴子.它在每天的 2:00 —— 9:00之间非常渴,所以在这个期间它必须喝掉2个单位的水.它可以多次喝水,只要它喝水的总量是2.它从不多喝,在一小时内他只能喝一个单位的水.所以它喝水 ...
- spring mvc 文档哪里有
官方: http://docs.spring.io/spring/docs/4.2.0.RC1/spring-framework-reference/htmlsingle/#spring-web Th ...
- hdu 5014 异或序列
http://acm.hdu.edu.cn/showproblem.php?pid=5014 从最大的一个数开始找能配对使他们的异或值最大的一个数 最后输出 #include <cstdio&g ...
- iOS应用开发最佳实践
<iOS应用开发最佳实践> 基本信息 作者: 王浩 出版社:电子工业出版社 ISBN:9787121207679 上架时间:2013-7-22 出版日期:2013 年8月 开本:16 ...
- CodeFirst迁移注意点
Context构造函数不检查__MigrationHistory 取消当数据库模型发生改变时删除当前数据库重建新数据库的设置.Database.SetInitializer<Context> ...
- abp+angular+bootstrap-table的使用
问题 materialize与bootstrap框架样式冲突 问题描述 在abp模板项目中引入bootstrap-table,列设置为checkbox,checkbox无法显示. 使用firefox浏 ...
- asp.net—策略模式
一.什么是策略模式 定义:定义一系列算法,把一个个算法封装成独立类并实现同一个接口,使得它们之间可以相互替换. 二.怎么使用策略模式 首先模拟一个场景:有一个用户想买车. 可以有多种方式买车: (1 ...
- Ruby on Rails 目录结构
目录结构 + app/ #控制器.模型.视图.帮助方法.邮件.静态资源 + bin/ #rails脚本 + config/ #路由.数据库等 + db/ #数据库模式.迁移文件 + lib/ #扩展模 ...
- Office - Outlook
将邮件存到本地 服务器容量有限,避免丢失和经常提示容量不足 步骤 在File->Account Settings->Account Settings下面 在Data Files标签页新建一 ...