1.   @RenderBody() 

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

2.   @RenderSection(string,boolean) 

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

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

也可以这样:

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

3.   @Html.Partial()

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

  直接加载视图文件内容;

  可以直接提供用户控件名作为参数;

  简单的没有任何逻辑的用户控件,推荐使用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()方法快,基于第一条原因

乡下人重拾MVC——@RenderBody @RenderSection @Html.Partial @Html.Action @Html.RenderPartial @Html.RenderAction的更多相关文章

  1. asp.net mvc @Html.Partial @Html.Action @Html.RenderPartial @Html.RenderAction区别

    转载自 :  <asp.net mvc @Html.Partial @Html.Action @Html.RenderPartial @Html.RenderAction区别> 先复制过来 ...

  2. @Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction区别

    ASP.NET MVC 中@Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction区别 对这四个的区别做一个总结,清理一下思路 ...

  3. @Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction区别 .(转)

    mvc renderaction   renderpartial  杂谈      Html.RenderPartial与Html.RenderAction这两个方法都是用来在界面上嵌入用户控件的. ...

  4. asp.net MVC3.0 中@Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction

    asp.net MVC3.0 中@Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction 1.带有Render的方法返回值是v ...

  5. MVC中@Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction区别

    Html.RenderPartial与Html.RenderAction这两个方法都是用来在界面上嵌入用户控件的. 1. Html.RenderPartial是直接将用户控件嵌入到界面上: <% ...

  6. asp.net MVC 中@Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction区别

    @Html.Action:需要有对应的Action,并且Action方法有返回值.(注:处理完业务逻辑同时,也需要返回所需值) @{Html.RenderAction}:需要有对应的Action,Ac ...

  7. 关于asp.net MVC3 ----@Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction

    1.带有Render的方法返回值是void,在方法内部进行输出:不带的返回值类型为MvcHtmlString,所以只能这样使用:@Html.Partial 对应 @{Html.RenderPartia ...

  8. @Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction [转]

    @Html.Action:需要有对应的Action,并且Action方法有返回值.(注:处理完业务逻辑同时,也需要返回所需值) @{Html.RenderAction}:需要有对应的Action,Ac ...

  9. 乡下人重拾MVC——创建视图

    1. 创建视图都不勾选:代表不使用任何模版,页面的代码即为运行后显示的内容 2.  创建分部视图 代表统会自动把View文件夹下名为“_ViewStart.cshtml”的内容添加到新建的html最上 ...

随机推荐

  1. 痞子衡嵌入式:飞思卡尔Kinetis系列MCU启动那些事(9)- KBOOT特性(IntegrityCheck)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是飞思卡尔Kinetis系列MCU的KBOOT之完整性检测(Integrity Check)特性. Application完整性检测是非常 ...

  2. ssh转发代理:ssh-agent用法详解

    SSH系列文章: SSH基础:SSH和SSH服务 SSH转发代理:ssh-agent用法详解 SSH隧道:端口转发功能详解 使用ssh-agent之前 使用ssh公钥认证的方式可以免去ssh客户端(如 ...

  3. [Vue] vue跳转外部链接

    问题 vue 跳转外部链接问题,当跳转的时候会添加在当前地址后面 var url = 'www.baidu.com' //跳转1 window.localtion.href = url //跳转2 w ...

  4. .Net Framework 4.5.1 ASP.NET MVC 5 下新建视图报“错误 运行所选代码生成器时出错 无法检索元数据 没有为该对象定义无参数构造函数”

    当在控制器中新建视图的时候,选择的视图界面如下: 执行添加后报如下错误: 错误的内容为: 错误运行所选代码生成器时出错 无法检索"XXX"的元数据没有为该对象定义无参数构造函数 U ...

  5. (4)Maven快速入门_4在Spring+SpringMVC+MyBatis+Oracle+Maven框架整合运行在Tomcat8中

    利用Maven 创建Spring+SpringMVC+MyBatis+Oracle 项目 分了三个项目  Dao   (jar)   Service (jar)   Controller (web) ...

  6. python3.6 pip 出现locations that require TLS/SSL异常解决方案

    在给CentOS服务器安装完Python3.6后,使用pip命令出现问题,提示说无法找到ssl模块. 上网查询后发现在安装Python3.6时没有安装openssl-devel依赖库,解决方案如下: ...

  7. nginx系列1:认识nginx

    nginx介绍 nginx是什么呢?可以看下官方网站的定义: nginx [engine x] is an HTTP and reverse proxy server, a mail proxy se ...

  8. 关于git的简单操作

    首先这篇随笔我是不太想写的,因为网上有很多教程,我也是看廖雪峰大神的git教程自学的.还是一个小学生,就当一个学习笔记了,如果你想看大神的原版,请点击这里.我们原来都是用svn的,但是越来越觉得svn ...

  9. 详解原生JS回到顶部

    第一次知道可以用超链接(锚点)实现回到顶部的时候我是很震惊的,想着原来可以这么简单啊!但是作为一个正在学习JS的小白,不能就这么轻易止步,所以查资料自己整了一个JS返回顶部. HTML代码: ? 1 ...

  10. 弹框在UC浏览器或者Android机器上会被顶上去

    弹框在UC浏览器或者Android机器上会被顶上去 可以通过监听resize事件 this.height = $(document).height(); window.addEventListener ...