- Html.Partial和Html. RenderPartial用法
Html.partial和RenderPartial的用法与区别
输出方式
Html.partial和RenderPartial都是输出html片段,区别在于
Partial是将视图内容直接生成一个字符串并返回(相当于有个转义的过程),RenderPartial方法是直接输出至当前 HttpContext(因为是直接输出,所以性能好)。
用法
Html.Partial:@Html.Partial("BasicChart")
Html. RenderPartial:@{ Html.RenderPartial("BasicChart"); }
重载
第二个重载传递model,视图可使用model的强类型视图:@{ Html.RenderPartial("BasicChart",model); }
第三个重载传递指定ViewData数据:@{Html.RenderPartial("BasicChart",ViewData["myData"]);}
- RenderBody
指定子页面在布局页面中位置:
<div class="main-body" id="MainBodyDiv"> @RenderBody() </div>
_ViewStart.cshtml 指定了默认情况下页面的布局页面,
@{ Layout = "~/Views/Shared/_Layout.cshtml"; }
若想使用其它的布局文件,可单独在view中更改上述值
action返回方法调用为PartialView()时不会使用布局文件 - RenderPage
加载一个视图
调用方法:@RenderPage(“~/Views/Shared/_Header.cshtml”)
带参数:@RenderPage(“~/Views/Shared/_Header.cshtml”,new{parm="my",parm2="you")
获取 RenderPage() 传递过来的参数:@PageData["param"]
- Html.Action和Html.RenderAction
两者之间的区别与Html.partial和RenderPartial类似,但Html.Action和Html.RenderAction在调用时会请求action,有一些比较复杂逻辑时建议使用
RenderPage与上述四个方法区别在于,它只能使用调用时传递过来的值 - RenderSection
布局页面中使用:@RenderSection("scripts", required: false)
required表示视图是否必须实现
实现方法:
@section Scripts{ \<script> function xx() { this.Name = ""; } </script> }
MVC5扩展方法
最新推荐文章于 2021-06-18 14:47:23 发布