Html.RenderPartial("")与Html.Partial("")区别
这个HtmlHelper的扩展方法Partial,和HtmlHelper自带的 RenderPartial功能比较接近,
两者都可以输出一个Partial视图;其区别如下:
<一>. Partial有返回值(MvcHtmlString);RenderPartial没有返回值(Void)。
//定义 1 //PartialExtensions.Partial 方法 (HtmlHelper, String)
public static MvcHtmlString Partial(
this HtmlHelper htmlHelper,
string partialViewName
) //RenderPartialExtensions.RenderPartial 方法 (HtmlHelper, String)
public static void RenderPartial(
this HtmlHelper htmlHelper,
string partialViewName
)
<二>不过Partial是将视图内容直接生成一个字符串并返回,RenderPartial方法是直接输出至当前 HttpContext。因此它们在视图中的使用方式是不同的,
Partial输出到临时变量StringWriter ;RenderPartial输出到HtmlHelper.ViewContext.Writer上(即直接输出到Response)。
Html.Partial内部实现public static MvcHtmlString Partial(this HtmlHelper htmlHelper, string partialViewName)
{
return htmlHelper.Partial(partialViewName, null, htmlHelper.ViewData);
} public static MvcHtmlString Partial(this HtmlHelper htmlHelper, string partialViewName, object model, ViewDataDictionary viewData)
{
using (StringWriter writer = new StringWriter(CultureInfo.CurrentCulture))
{
htmlHelper.RenderPartialInternal(partialViewName, viewData, model, writer, ViewEngines.Engines);
return MvcHtmlString.Create(writer.ToString());
}
}
---------------------------------------------------------------------------------
public static void RenderPartial(this HtmlHelper htmlHelper, string partialViewName)
{
htmlHelper.RenderPartialInternal(partialViewName, htmlHelper.ViewData, null, htmlHelper.ViewContext.Writer, ViewEngines.Engines);
}
<三>在Razor视图中语法不一样:
@Html.Partial("PartialViewName")
@{ Html.RenderPartial("PartialViewName"); }
Html.RenderPartial("")与Html.Partial("")区别的更多相关文章
- MVC 4.0 Razor模板引擎 @Html.RenderPartial 与 @Html.RenderAction 区别
近来在学习MVC 4.0,设置布局全局网页的页脚,使用了Razor语法 @{ Html.RenderPartial("Footer", Model.FooterData); } 但 ...
- Html.Partial和Html.RenderPartial和Html.RenderAction区别
1.Html.Partical 把View页或模板解析成字符串然后输出到渲染页面上 @Html.Partical("viewxxx") 2.Html.RenderPartical则 ...
- Html.RenderPartial与Html.RenderAction区别(转)
Html.RenderPartial与Html.RenderAction这两个方法都是用来在界面上嵌入用户控件的. Html.RenderPartial是直接将用户控件嵌入到界面上: <%Htm ...
- 重温MVC基础入门
重温MVC基础入门 简介 本文主要是作者回顾MVC基础的文章,整合个人认为基础且重点的信息,通过简单实践进行复习. 相关代码地址:https://github.com/OtherRuan/Revi ...
- Partial RenderPartial Action RenderAction 区别和用法
区别: 1.Partial 与 RenderPartial 两个方法性质基本一样,只是把一个静态用户控件给嵌入进来. 2.Partial 回传一堆html代码,直接写进到页面上@Html.Partia ...
- Asp.Net MVC3.0 Partial RenderPartial Action RenderAction 区别和用法
本人写的博文不多,专业知识不强,以下纯属于个人笔记.如有不对,还请各路大拿,拍砖指导,谢谢! 区别: 1.Partial 与 RenderPartial 两个方法性质基本一样,只是把一个静态用户控件给 ...
- Asp.net MVC中Html.Partial, RenderPartial, Action,RenderAction 区别和用法【转发】
Html.partial和RenderPartial的用法与区别Html.partial和RenderPartial都是输出html片段,区别在于Partial是将视图内容直接生成一个字符串并返回(相 ...
- [ASP.NET MVC]@Partial 和@RenderPartial的区别
@Partial 和@RenderPartial的区别 Html.partial和RenderPartial的用法与区别 Html.partial和RenderPartial都是输出html片段,区别 ...
- Asp.net MVC中Html.Partial, RenderPartial, Action,RenderAction 区别和用法(mvc部分视图的添加)
Partial 和RenderPartial:这两个的性质都是一样, 只指把一个个View给镶入进来, 只是回传值有点不一样Partial 回传的一个Object (MvcHtmlString), 回 ...
随机推荐
- Python3基础 函数 局部与全局变量同名,各管各的
Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda ...
- redis linux版本自定义安装目录、注册服务、自启动设置、一台计算机安装多个redis
自定义安装目录并安装 1.mkdir /usr/local/redis 2.下载redis到 /usr/local/src/,解压,进入解压后的目录 3.安装到指定目录 make PREFIX=/us ...
- css布局一屏幕的自适应高度
css ;;list-style: none;} .top{height: 100px;background-color:orange;} .max{;background-color:skyblue ...
- Python 实现协程
协程的概念 协程,又称微线程,纤程.英文名Coroutine.一句话说明什么是线程:协程是一种用户态的轻量级线程.(其实并没有说明白~) 我觉得单说协程,比较抽象,如果对线程有一定了解的话,应该就比较 ...
- Linux 安装iostat命令
首先跟你的Linux系统有关 我用的是Red hat系统 记录下最快的安装iostat命令的方式 起初想查看iostat, 提示 iostat: command not found 于是,通过yum ...
- VcCallC#_02
1.VC代码:(vs2013运行正常) // ConsoleApplication_CallCS.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h&quo ...
- RabbitMQ入门_11_DLX
参考资料:https://www.rabbitmq.com/dlx.html 队列中的消息可能会成为死信消息(dead lettered).让消息成为死信消息的事件有: 消息被取消确认(nack 或 ...
- Chrome与之驱动对应的版本
看到网上基本没有最新的chromedriver与chrome的对应关系表,便兴起整理了一份如下,希望对大家有用: chromedriver版本 支持的Chrome版本 v2.46 v71-73 v2. ...
- Java中/r和/n的区别
/n换行符,效果是新换一行,光标在原有位置下一行 /r回车符,效果是光标来到下一行行首
- Python面向对象编程、类
一.面向对象编程 面向对象--Object Oriented Programming,简称oop,是一种程序设计思想.在说面向对象之前,先说一下什么是编程范式,编程范式你按照什么方式来去编程,去实现一 ...