1..引用解析:
System.Web.Routing :
URL路由。将一个URL路由到对应的Controller上靠的就是这个。是在HttpModule里面处理的。
System.Web.Extensions :
这个是ASP.NET AJAX的。
System.Web.Mvc:
ASP.NET MVC最主要的程序集。在CodePlex上放出源代码的就是这个DLL。
System.Web.Abstractions :
这个程序集是一些相关的基类来的。例如HttpContextBase、HttpRequestBase 等等。
Microsoft.Web.Mvc :
这个程序集只要放一些MVC的特性与扩展的方法。在ASP.NET MVC beta版中,这个DLL已经被移除,但是如果你需要用到这个DLL的功能,可以到这里下载并引入就可以了。
2.当有多个参数传递时,Action方法的“形参”名称应与“路由”中的“参数”名称
把http://localhost/books/searchlist.aspx?categoryid=5&bookname=英语 变成 http://localhost/books/searchlist/5/英语
3.什么是Areas
Areas是将ASP.NET MVC应用按照不同的功能模块划分,对每个功能模块使用ASP.NET MVC规则的目录结构和命名方法。使用模块化是为了让每一块分开,例如管理员界面、前台界面、学生界面。
每一部分可以单独使用自己的MVC框架.
4.css与js绑定 与引用 ,js与css一样
绑定:bundles.Add(new StyleBundle("~/bundles/css/bootstrap2").Include(
"~/Content/admin/css/bootstrap-min.css", //引用文件
"~/Content/admin/css/bootstrap-responsive-min.css" // 引用文件
));
引用:@Styles.Render("~/bundles/css/bootstrap2")两个路径必须一致,路径格式(~/...)
注意:引用压缩文件名时,必须改为-min,eg:bootstrap-min.css,否则绑定不上.
5. -.-
@Styles.Render 引用css.js等打包后的文件
@RenderBoy 在内容页呈现不在指定部分中的内容页
@RenderPage 在其他页内呈现某一页的内容
@RenderSection(“css”,flase) 呈现指定部分的内容,并指定该部分是否是所需
BundleConfig.cs css以及js打包时的位置
@Html.Partial("_HeaderMenu") 呈现Html元素,不用加后缀名
ViewBag动态对象,主要用途就是在Controller里给ViewBag添加属性值
6.为什么不引用也可以使用布局
@{
ViewBag.Title = "Test";
Layout = "~/Views/Shared/_Layout.cshtml";
}
Layout = "~/Views/Shared/_Layout.cshtml";这一行删除后,访问该view仍会引用该布局.
View文件夹下面会有个_ViewStart.cshtml的文件,初始化了你的模板。如果不使用模板,则在页面加 Layout = null;