乡下人重拾MVC——@RenderBody @RenderSection @Html.Partial @Html.Action @Html.RenderPartial @Html.RenderAction
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的更多相关文章
- asp.net mvc @Html.Partial @Html.Action @Html.RenderPartial @Html.RenderAction区别
		
转载自 : <asp.net mvc @Html.Partial @Html.Action @Html.RenderPartial @Html.RenderAction区别> 先复制过来 ...
 - @Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction区别
		
ASP.NET MVC 中@Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction区别 对这四个的区别做一个总结,清理一下思路 ...
 - @Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction区别 .(转)
		
mvc renderaction renderpartial 杂谈 Html.RenderPartial与Html.RenderAction这两个方法都是用来在界面上嵌入用户控件的. ...
 - 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 ...
 - MVC中@Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction区别
		
Html.RenderPartial与Html.RenderAction这两个方法都是用来在界面上嵌入用户控件的. 1. Html.RenderPartial是直接将用户控件嵌入到界面上: <% ...
 - asp.net MVC 中@Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction区别
		
@Html.Action:需要有对应的Action,并且Action方法有返回值.(注:处理完业务逻辑同时,也需要返回所需值) @{Html.RenderAction}:需要有对应的Action,Ac ...
 - 关于asp.net MVC3 ----@Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction
		
1.带有Render的方法返回值是void,在方法内部进行输出:不带的返回值类型为MvcHtmlString,所以只能这样使用:@Html.Partial 对应 @{Html.RenderPartia ...
 - @Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction [转]
		
@Html.Action:需要有对应的Action,并且Action方法有返回值.(注:处理完业务逻辑同时,也需要返回所需值) @{Html.RenderAction}:需要有对应的Action,Ac ...
 - 乡下人重拾MVC——创建视图
		
1. 创建视图都不勾选:代表不使用任何模版,页面的代码即为运行后显示的内容 2. 创建分部视图 代表统会自动把View文件夹下名为“_ViewStart.cshtml”的内容添加到新建的html最上 ...
 
随机推荐
- webpack4.0各个击破(1)—— html部分
			
webpack作为前端最火的构建工具,是前端自动化工具链最重要的部分,使用门槛较高.本系列是笔者自己的学习记录,比较基础,希望通过问题 + 解决方式的模式,以前端构建中遇到的具体需求为出发点,学习we ...
 - App阅读pdf和扫描二维码功能
			
在之前开发的Android手机App中,需要实现阅读pdf和扫描二维码的功能,在github 上找到大牛封装好包,亲测可用. 阅读pdf: https://github.com/barteksc/An ...
 - 解决IIS无法启动w3svc
			
1>:首先在CMD命令行中输入:fsutil resource setautoreset true c:\ 2>:然后在运行services.msc 3>:找到Windows Pro ...
 - C# 如何添加Excel页眉页脚(图片、文字、奇偶页不同)
			
简介 我们可以通过代码编程来对Excel工作表实现很多操作,在下面的示例中,将介绍如何来添加Excel页眉.页脚.在页眉处,我们可以添加文字,如公司名称.页码.工作表名.日期等,也可以添加图片,如LO ...
 - 分享一些 Windows 平台上的神器
			
下面分享一些 Windows 平台上日常开发使用的软件,有些软件我自认为是神器,可以大大提高效率. 编辑器类软件 IntelliJ IDEA IntelliJ IDEA 内部集成 Java 开发环境, ...
 - Web前端    Web前端和Web后端的区分
			
一.绪论 1. 前台:呈现给用户的视觉和基本的操作. 后台:用户浏览网页时,我们看不见的后台数据跑动.后台包括前端.后端. 前端:对应我们写的html.css.javascript 等网页语言作用在前 ...
 - 总结XSS与CSRF两种跨站攻击
			
XSS:跨站脚本(Cross-site scripting),实际应是"CSS",但由于和层叠样式表CSS名称冲突,故改为"XSS" CSRF:跨站请求伪造(C ...
 - Spark dataframe【KV格式】模拟实现Map操作
			
代码实现 // rdd转化为df[kv格式]val df = sqlContext.createDataFrame(check_data_type, structType) .select(" ...
 - centos7中mail实测(qq邮箱)
			
一.安装mailx sendmail 1.1查看是否已经安装 yum install -y mailx sendmail 如果已经安装,会提示已经安装,没有安装会自动安装. ...
 - SQL SERVER 索引碎片
			
一次发现同样的SQL在线上库和复制库执行时间差好多,重新创建相关表索引,性能提升明显,怀疑索引有碎片