乡下人重拾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最上 ...
随机推荐
- 讲一下Asp.net core MVC2.1 里面的 ApiControllerAttribute
先贴文章链接 正文 ASP.NET Core MVC 2.1 特意为构建 HTTP API 提供了一些小特性,今天主角就是 ApiControllerAttribute. (注:文章是18年2月份的, ...
- GAN模型生成手写字
概述:在前期的文章中,我们用TensorFlow完成了对手写数字的识别,得到了94.09%的识别准确度,效果还算不错.在这篇文章中,笔者将带领大家用GAN模型,生成我们想要的手写数字. GAN简介 对 ...
- MySQL 笔记整理(1) --基础架构,一条SQL查询语句如何执行
最近在学习林晓斌(丁奇)老师的<MySQL实战45讲>,受益匪浅,做一些笔记整理一下,帮助学习.如果有小伙伴感兴趣的话推荐原版课程,很不错. 1) --基础架构,一条SQL查询语句如何执行 ...
- 从零开始学安全(三十六)●利用python 爆破form表单
import sys import requests from requests.auth import HTTPBasicAuth def Brute_Force_Web(postData): re ...
- [Linux] scp本地服务器和远程服务器拷贝文件
上传本地文件到服务器scp 本地路径 用户名@远程服务器ip:远程路径 下载文件 scp 用户名@远程服务器ip:远程路径 本地路径-r 是上传下载本地目录到远程 远程文件
- 让Mongo在Spring中跑起来
本文标题为<让Mongo在Spring中跑起来>,旨在Spring中如何成功连接MongoDB并对其进行增删改查等操作,由于笔者也是刚接触,对其中的一些原由也不甚了解,若有错误之处,敬请指 ...
- 设计模式之Factory工厂模式的好处
最最直观的好处就是吹牛逼,看着要比普通创建对象要屌 好看 一般情况下,我们创建对象使用的是new. Sample sample=new Sample(); 然而,实际情况会比这样复杂的多,比如说 Sa ...
- 零基础学Python--------入门篇 第1章 初始Python
入门篇 第1章 初始Python 1.1 Pyhton 概述 1.1.1 了解 Python Python,本义是指“蟒蛇”.1989年,荷兰人Guido van Rossum发明了一种面向对象的 ...
- 6-Redis 的持久化之 AOF
2017-01-01 16:42:13 该系列文章链接NoSQL 数据库简介Redis的安装及及一些杂项基础知识Redis 的常用五大数据类型(key,string,hash,list,set,zse ...
- 免费开源ERP Odoo实施指南 连载二:POSTGRESQL概述
PostgreSQL是Odoo支持的数据库.PostgreSQL是起源于大学的一个历史很长的开源数据库系统.包括美国航天局NASA.德国证券交易中心.中国的平安.腾讯的微信支付.阿里巴巴的阿里云都在用 ...