Asp.Net Mvc项目初始化说明
文件夹说明:
App_Start 项目的启动配置
Content css以及图片资源存放位置
Controllers、Models、View控制器、模型、视图存放位置
Scripts js以及js插件存放位置
favicon.ico 网站图标
Global.asax 应用程序启动、停止等配置
packages.config nuget引用配置
Startup.cs 启动项配置
Web.config 网站基本配置
Global.asax的Application_Start应用启动时配置:
AreaRegistration.RegisterAllAreas
在MVC中,一共有三个核心部分,Model,Controller,View,这三个部分存在于一个区域中.
在实际项目开发中,一个项目具有多个模块,而为了区分每个模块,将每个模块划分区域,
AreaRegistration.RegisterAllAreas,就是在这个应用中注册了所有区域。
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
GlobalFilters.Filters是过滤器的容器,FilterConfig.RegisterGlobalFilters为过滤器的容器添加了过滤项。
RegisterGlobalFilters实现了添加的操作。GlobalFilters.Filters添加的内容,主要有包含FilterAttribute的派生类。
开发者通过自定义FilterAttribute的派生类,来进行过滤操作。
RouteConfig.RegisterRoutes(RouteTable.Routes);
RouteTable.Routes是路由的容器,RouteConfig.RegisterRoutes为路由容器添加设置的路由项。
RegisterRoutes实现了添加的操作。RouteTable.Routes添加的内容,主要有设置路由忽略项,映射项以及路径、命名空间、自定义路由等
开发者通过自定义RouteBase的派生类来设置自定义路由。设置路由和映射,都属于添加的一种路由。
BundleConfig.RegisterBundles(BundleTable.Bundles);
BundleTable.Bundles是压缩的容器,用于压缩js和css,BundleConfig.RegisterBundles为容器添加设置的项。
RegisterBundles实现了添加的操作,BundleTable.Bundles添加的内容主要是ScriptBundle和StyleBundle。它们都是Bundle的派生类
主要是为了初始化View的内容。
Startup.cs启动项
[assembly: OwinStartupAttribute(typeof(BaoXing.Study.Mvc.Startup))] // 标识该命名空间下的启动项
ConfigureAuth(IAppBuilder app)启动项设置
Models验证特性
Model的验证特性:
Required 非空验证
StringLength 限制字符串长度
Range 限制取值范围
RegularExpression 正则表达式匹配
Compare 值比较
EmailAddress 指定该属性必须是邮箱
Model与View强类型特性:
DataType 指定了数据的类型,是否密码字符
Display 设置了View显示的名称
压缩:
bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
"~/Scripts/jquery-{version}.js"));
version指定了jquery所有版本
bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
"~/Scripts/jquery.validate*"));
jquery.validate*指定了所有包含jquery.validate为前缀的js
bundles.Add(new ScriptBundle("~/bundles/bootstrap").Include(
"~/Scripts/bootstrap.js",
"~/Scripts/respond.js"));
压缩了css
过滤器:
public class FilterConfig { public static void RegisterGlobalFilters(GlobalFilterCollection filters) { filters.Add(new HandleErrorAttribute()); //添加过滤项 } }
路由:
// 路由忽略项 routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapRoute( name: "Default", url: "{controller}/{action}/{id}", defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } ); // defaults 默认访问的控制器 // url 路由规则