Html.RenderPartial和Html.Partial在Razor视图中的区别
两者都可以输出一个Partial视图;其区别如下:
1. Partial有返回值(MvcHtmlString);RenderPartial没有返回值(Void)。
1 // PartialExtensions.Partial 方法 (HtmlHelper, String)
2 public static MvcHtmlString Partial(
3 this HtmlHelper htmlHelper,
4 string partialViewName
5 )
6
7 // RenderPartialExtensions.RenderPartial 方法 (HtmlHelper, String)
8 public static void RenderPartial(
9 this HtmlHelper htmlHelper,
10 string partialViewName
11 )
1 // PartialExtensions.Partial 方法 (HtmlHelper, String)
2 public static MvcHtmlString Partial(
3 this HtmlHelper htmlHelper,
4 string partialViewName
5 )
6
7 // RenderPartialExtensions.RenderPartial 方法 (HtmlHelper, String)
8 public static void RenderPartial(
9 this HtmlHelper htmlHelper,
10 string partialViewName
11 )
2. Partial输出到临时变量 StringWriter ;RenderPartial输出到 HtmlHelper . ViewContext . Writer 上(即直接输出到Response)。
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 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());
}
}
1 public static void RenderPartial( this HtmlHelper htmlHelper, string partialViewName)
2 {
3 htmlHelper.RenderPartialInternal(partialViewName, htmlHelper.ViewData, null , htmlHelper.ViewContext.Writer, ViewEngines.Engines);
4 }
1 public static void RenderPartial( this HtmlHelper htmlHelper, string partialViewName)
2 {
3 htmlHelper.RenderPartialInternal(partialViewName, htmlHelper.ViewData, null , htmlHelper.ViewContext.Writer, ViewEngines.Engines);
4 }
3. 在Razor视图中语法不一样:
@Html.Partial( " PartialViewName " )
2
3 @{ Html.RenderPartial( " PartialViewName " ); }
1 @Html.Partial( " PartialViewName " )
2
3 @{ Html.RenderPartial( " PartialViewName " ); }
作者: Leo_wl
出处: http://www.cnblogs.com/Leo_wl/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
版权信息查看更多关于Html.RenderPartial和Html.Partial在Razor视图中的区别的详细内容...