MVC探索之路(2、MVC各组成部分)
来源:互联网 发布:网络霸气情侣名 编辑:程序博客网 时间:2024/05/21 21:44
MVC的各组成部分
一:ASP.NET MVC应用程序目录结构主要文件夹
AuthConfig.cs:MVC内部解析是若要允许此站点的用户使用他们在其他站点(例如 Microsoft、Facebook 和 Twitter)上拥有的帐户登录,必须更新此站点。有关详信息,请访 问 http://go.microsoft.com/fwlink/?LinkID=252166。这个一般不用,就不说了。BundleConfig.cs:包含了一些应用程序中使用的脚本和样式表的文件路径,其中可以使用通配符。
使用Add方法. bundles.Add(new ScriptBundle("~/bundles/jquery").Include( "~/Scripts/jquery-{version}.js")); new ScriptBundle("~/bundles/jquery")定义一个分组名称,Include表示这个分组下具体包括的文件。 version参数代表版本号 ,*代表所有,这两个是可以理解为通配符。 以上代码表示创建一个~/bundles/jquery分组,该分组指向的文件为scripts文件夹下的jquery-1.7.1.js文件。 如果scripts文件夹下有jquery-1.7.1.js,jquery-1.6.1.js,则会指向这两个文件。 同样,bundles.Add(new StyleBundle("~/Content/css").Include("~/Content/site.css")); 表示创建了一个~/Content/css分组,指向~/Content/site.css文件.
FilterConfig.cs:全局过滤器(在后期会专门讲一下我对过滤器的理解)。RouteConfig.cs:public static void RegisterRoutes(RouteCollection routes){ routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapRoute( "Default", "{controller}/{action}/{id}", new { controller = "Home", action = "Index", id = UrlParameter.Optional }, new string[] { "xxx.WebUI.Controllers" }////默认控制器地址 );}
注意:WebApi 用到的是MapHttpRoute,为什么要用?因为routeTemplate中有了{controller},针对api的请求可以自动映射到指定的controller类。 WebApi 怎么找到合适的Action?系统根据请求的方式来判断.如果是以GET的方式请求的,那么将匹配controller中以“Get”开头的Action;如果是以POST的方式请求的,那么将匹配controller中以“Post”开头的Action;如果是以PUT的方式请求的,那么将匹配controller中以“Put”开头的Action;如果是以DELETE的方式请求的,那么将匹配controller中以“Delete”开头的Action;除了这几个默认的请求方式,还可以在客户端定义你自己的请求方式!我们仍然可以把action的名字放到默认的请求规则中,只要把routeTemplate改为如下即可: config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{action}/{id}", defaults: new { id = RouteParameter.Optional } )
Content:一般放全局样式和图片之类的公共文件。
Controllers:小项目的话,就把所有的控制器放里面。如果是有前后台,并且还有App的建议这个文件夹只放原始生成的HomeController.cs,里面放一个定向跳转。或者只放前台后的登陆相关的控制器。
Filters:专门放过滤器类的,一般可以在里面重构过滤方法。
public override void OnActionExecuting(System.Web.Http.Controllers.HttpActionContext context)
public override void OnActionExecuted(System.Web.Http.Filters.HttpActionExecutedContext context)等。
Global.asax:这个文件一般启动上述文件夹下的文件。如果想简单的,可以把全局过滤,路由等都写在里面。 protected void Application_Start()里面一般可以有:
连接会话的操作(string constring = ConfigurationManager.ConnectionStrings["DbHelperConnectionString"].ToString();DBContext db = new DBContext(1, DataBaseType.SQLServer, constring, 15); DBSession.InitDBSession(db, typeof(OLJ_AdminUser).Assembly); DBSession.DefaultDBKey = 1;), 注册解析路径方式(RegisterRoutes(RouteTable.Routes);) 注册所有的域(AreaRegistration.RegisterAllAreas();)protected void Session_Start(object sender, EventArgs e);session操作等涉及到应用程序全局类或方法。
Web.config:(根目录下,对根目录下所有文件起作用。一般配置全局错误处理,数据库连接,微信信息,短信信息等等)
是以XML文件规范存储,配置文件分为以下格式
1.配置节处理程序声明
特点: 位于配置文件的顶部,包含在<configSections>标志中。
2.特定应用程序配置
特点: 位于<appSetting>中。 可以定义应用程序的全局常量设置等信息.
3.配置节设
<customErrors mode="RemoteOnly" defaultRedirect="error.aspx" <error statusCode="440" redirect="err440page.aspx"/>
<error statusCode="500" redirect="err500Page.aspx"/>
</customErrors >
特点: 位于<system.Web>节中,控制Asp.net运行时的行为.
4.配置节组
特点: 用<sectionGroup>标记,可以自定义分组,可以放到<configSections>内部或其它<sectionGroup>标记的内部.
(二).配置节的每一节
1.<configuration>节
根元素,其它节都是在它的内部.
2.<appSetting>节
此节用于定义应用程序设置项。对一些不确定设置,还可以让用户根据自己实际情况自己设置
用法:
<appSettings>
<add key="Conntction" value="server=192.168.0.2;userid=sa;password=;database=Info;"/>
<appSettings>
定义了一个连接字符串常量,并且在实际应用时可以修改连接字符串,不用修改程式代码.
<appSettings>
<add key="ErrPage" value="Error.aspx"/><appSettings>
定义了一个错误重定向页面.
3.<compilation>节
格式:
<compilation defaultLanguage="c#" debug="true" />
debug : 为true时,启动aspx调试; 为false不启动aspx调试,因而可以提高应用程序运行时的性能。 一般程序员在开发时设置为true,交给客户时设置为false.
4.<customErrors>节
格式:
I.mode : 具有On,Off,RemoteOnly 3种状态。On表示始终显示自定义的信息; Off表示始终显示详细的asp.net错误信息; RemoteOnly表示只对不在本地Web服务器上运行的用户显示自定义信息.
II.defaultRedirect: 用于出现错误时重定向的URL地址. 是可选的
III.statusCode: 指明错误状态码,表明一种特定的出错状态.
IV. redirect:错误重定向的URL.
- MVC探索之路(2、MVC各组成部分)
- MVC探索之路(1、MVC的基础概念)
- SSHM框架之MVC部分
- Coldfusion MVC模式探索
- MVC模式 探索
- ASP.NET MVC 之 部分视图
- MVC 音乐商店 第 2 部分: 控制器
- ASP.NET MVC框架(第一部分)
- ASP.NET MVC框架(第一部分)
- ASP.NET MVC框架(第一部分)
- ASP.NET MVC框架(第一部分)
- MVC 更新部分字段 (数据库先行)
- 自定义MVC框架(分页前台部分)
- MVC模式(部分知识)
- spring MVC 部分注解
- MVC部分视图
- MVC 部分视图
- url 各组成部分的意义
- 使用Xcode7.1打包上传App Store遇到的问题
- git简单使用
- OpenCV基本画图功能
- SQL SERVER 2005 数据库状态为“可疑”的解决方法【转】
- java常见五种排序方式
- MVC探索之路(2、MVC各组成部分)
- 编译原理(十) SLR文法分析法(算法原理和C++实现)
- 关于cmder--windows下使用linux命令
- vagrant doc
- 追赶法求解三对角方程组
- 五个免费UML建模工具推荐
- jade模板引擎(二)
- Unity 和 Visual Studio Code ( VS Code ) 第三弹 - Unity Debugger Extension Preview
- iOS开发动画(Animation)总结