首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在MVC2中,Html.Partial(视图,模型)和Html.RenderPartial(视图,模型)之间有什么区别(如果有的话)?

在MVC2中,Html.Partial(视图,模型)和Html.RenderPartial(视图,模型)之间有什么区别(如果有的话)?
EN

Stack Overflow用户
提问于 2010-04-28 21:28:44
回答 1查看 45.2K关注 0票数 145

除了它返回的类型和调用它的方式不同之外

代码语言:javascript
复制
<% Html.RenderPartial(...); %>
<%= Html.Partial(...) %>  

如果它们是不同的,为什么你会调用一个而不是另一个呢?

定义:

代码语言:javascript
复制
// Type: System.Web.Mvc.Html.RenderPartialExtensions
// Assembly: System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
// Assembly location: C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET MVC 2\Assemblies\System.Web.Mvc.dll

using System.Web.Mvc;

namespace System.Web.Mvc.Html
{
    public static class RenderPartialExtensions
    {
        public static void RenderPartial(this HtmlHelper htmlHelper, string partialViewName);
        public static void RenderPartial(this HtmlHelper htmlHelper, string partialViewName, ViewDataDictionary viewData);
        public static void RenderPartial(this HtmlHelper htmlHelper, string partialViewName, object model);

        public static void RenderPartial(this HtmlHelper htmlHelper, string partialViewName, object model,
                                     ViewDataDictionary viewData);
    }
}

// Type: System.Web.Mvc.Html.PartialExtensions
// Assembly: System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
// Assembly location: C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET MVC 2\Assemblies\System.Web.Mvc.dll

using System.Web.Mvc;

namespace System.Web.Mvc.Html
{
    public static class PartialExtensions
    {
        public static MvcHtmlString Partial(this HtmlHelper htmlHelper, string partialViewName);

        public static MvcHtmlString Partial(this HtmlHelper htmlHelper, string partialViewName,
                                        ViewDataDictionary viewData);

        public static MvcHtmlString Partial(this HtmlHelper htmlHelper, string partialViewName, object model);

        public static MvcHtmlString Partial(this HtmlHelper htmlHelper, string partialViewName, object model,
                                        ViewDataDictionary viewData);
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-04-28 21:32:42

唯一的区别是Partial返回一个MvcHtmlString,并且必须在<%= %>内部调用,而RenderPartial返回void并直接呈现给视图。

如果查看source code,您会发现它们都调用了相同的内部方法,传递了一个用于呈现的StringWriter。

如果要查看、保存或操作生成的超文本标记语言,而不是将其写入页面,则可以调用Partial

票数 172
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2729815

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档