乡下人重拾MVC——@RenderBody @RenderSection @Html.Partial @Html.Action @Html.RenderPartial @Html.RenderActi

1.   @RenderBody() css

  表明:是一个占位符,是留给子页面的位置,子页面使用这个模版,子页面中的内容会被放到@RenderBody的位置。合并后看成一个总体加载web

2.   @RenderSection(string,boolean) 缓存

  第一个参数是string类型,标明名称;第二个参数是boolean类型,表示子页面是否必需要写它。spa

  表明:是个占位符,解决了只有一个RenderBody的问题。好比,子页面要引入本身css文件,而@RenderBody写在了模板的<body>的最下面,而css想要加到模板的<head>中,这时候只须要在模板的head中加入 @RenderSection("css",false)  在子页面上加入 : @section css{ //是引用的css }code

也能够这样:对象

//先判断目标页中是否要加载这些片断,再加载
@if(IsSectionDefined("css")) //该值指示是否在页中定义了指定部分
{
    @RenderSection("css")  //将呈现指定部分的内容
}

3.   @Html.Partial()blog

  返回值类型为MvcHtmlString,是一个字符串;字符串

  直接加载视图文件内容;string

  能够直接提供用户控件名做为参数;it

  简单的没有任何逻辑的用户控件,推荐使用Partial;

以HTML-encoded 字符串展现 
        结果以HTML-encoded 字符串展现 
        返回的是string类型,因此结果能够存储在变量里 
        使用简单,无需建立Action 
        格式如:@Html.Partial("_Comments") 

4.   @Html.Action()

  返回值类型为MvcHtmlString,是一个字符串;

  从新执行一次Controller→Model→View的顺序,而后把产生的页面带回到原来的View中再回传;

  须要有对应的Action,在Action内部返回PartialResult(即return PartialView());

  对于须要设置一些Model的用户控件,推荐使用Action;

  在return PartialView时能够根据不一样的场景选择不一样的用户控件;

        直接展现为HtmlString 
        须要建立对应的child action 
        能够缓存partial view 
        格式如:@{Html.Action("Category","Home");} 

5.   @Html.RenderPartial()

  返回值是void,在方法内部进行输出;

  直接加载视图文件内容;

  能够直接提供用户控件名做为参数;

  简单的没有任何逻辑的用户控件,推荐使用Partial;

将分部视图直接写入响应输出流,因此只能放在代码模块中,不能放在表达式中。 
        这个方法会直接将结果写入到当前请求的http response数据流中,这觉得着它使用了和当前webpage/template使用的相同的TextWrite对象 
        方法没有返回值 
        不须要建立action,使用简单 
        格式以下:@{Html.RenderPartial("Links")};"Links"就是分部视图页的名称 
        这个方法比Partial方法更快,由于它直接将结果系统到当前响应的数据流中 

6.   @Html.RenderAction()

  返回值是void,在方法内部进行输出;

  从新执行一次Controller→Model→View的顺序,而后把产生的页面带回到原来的View中再回传;

  须要有对应的Action,在Action内部返回PartialResult(即return PartialView());

  对于须要设置一些Model的用户控件,推荐使用Action;

  将分部视图直接写入响应输出流。 ;

        和上个同样,执行结果会直接写入当前响应的数据流中         须要建立child action方法         格式如:@{Html.RenderAction("Category","Home");}         若是你想缓存partial view,这是最好的选择         这个方法比Action()方法快,基于第一条缘由

相关文章
相关标签/搜索