.NET MVC5自带模板方法功能解析(1)
2016-11-07 11:32
162 查看
1.模板页
(1) @Styles.Render()方法
在页面上可以用@Styles.Render("~/Content/css")来加载css 首先要在App_Start 里面BundleConfig.cs 文件里面 添加要包含的css文件 BundleConfig就是一个微软新加的 一个打包的配置类
模板中:
@Styles.Render("~/Content/css")
添加配置:
bundles.Add(new StyleBundle("~/Content/css").Include( "~/Content/bootstrap.css", "~/Content/site.css"));
这样就可以用一段代码加载多个CSS文件了
同理,加载js文件:
@Scripts.Render("~/bundles/jquery") @Scripts.Render("~/bundles/bootstrap")
(2)@RenderSection()和 @RenderBody()
HelperResult RenderSection(string name)但是当如果使用了_Layout.cshtml做母版页的页没有实现Section的话,就会抛出异常,这是因为在_Layout.cshtml中使用的是@RenderSection(“SubName”),他要求所有子页都要实现。
HelperResult RenderSection(string name, bool required = true)
其中,required默认为true表示引用这个布局页的所有View必须含有该 Section ,设为false则为可以有,也可以没有。
模板页:
@RenderSection("scripts", required: false)
页面使用:
@section Scripts { @Scripts.Render("~/bundles/jqueryval") }
@RenderBody()
呈现子页的主体内容
(3)Partial, RenderPartial, Action,RenderAction
Partial 和RenderPartial:这两个的性质都是一样, 只指把一个个View给镶入进来, 只是回传值有点不一样
Partial 回传的一个Object (MvcHtmlString), 回传一个String 把一堆Html给回传出来, 然后写进到主页面上
@Html.Partial("ViewName")
RenderPartial 回传的是void, 而这个方法会在主页面上添加指定的View
@{ Html.RenderPartial("ViewName"); }
这两个方法没有用到Controller, 是直接把一个View(Page) 给加进来,所以只能加载静态页面
Html.Action()/@Html.RenderAction()
和Partial与RenderPartial类似,但是因为会通过Action,所以更灵活,可以利用控制器上下文。
在Action中可以通过IsChildAction来判断是被Url直接调用还是被Action()/RenderAction()调用
可以利用重载直接参数给Action。
Action中使用return PartialView()指定分部视图,在_ViewStatrt.cshtml中指定的Layout会无效。
@{Html.RenderAction("ViewUserControl1");} @Html.Action("ViewUserControl1")
Controller: [ChildActionOnly]//防止直接调用 public ActionResult ViewUserControl1() { ViewBag.Test = "(Action)调用"; return PartialView(); }
(4)Html.ActionLink
参考 http://www.cnblogs.com/Relict/archive/2012/04/27/2473340.html相关文章推荐
- .NET MVC5自带模板方法功能解析(2)
- .NET MVC5自带模板方法功能解析(3)--ASP.NET Identity
- 写一个MVC的模板解析方法
- 模板方法模式深度解析(一)
- IOS中四种解析JSON的方法(IOS5自带支持方法、JSONKit、SBJson、TouchJson)
- Matlab自带的数据标准化方法(mapminmax和mapstd)详细解析
- 演示JAVA自带DOM解析XML功能
- 模板方法模式深度解析(一)
- 模块功能点测试方法模板
- [转]软件测试之常用的功能测试方法解析
- Thinkphp3.2自带分页功能实现方法
- C#里执行Js,C#解析JS方法--附58同城自动登录功能
- dedecms自定义表单解析DEDE标签方法并共用默认头尾模板(原创)
- C#里执行Js,C#解析JS方法--附58同城自动登录功能
- 模板方法模式深度解析(三)
- 解析Java实现随机验证码功能的方法详解
- JavaScript图表的时间解析功能(2):日期格式化方法
- 模板方法模式深度解析(一)
- iOS XML 系统自带的解析方法
- maven测试是否下载成功方法-eclipse自带的功能使用特点