Anders als die Art er zurückgeht und die Tatsache, dass man es natürlich anders nennenWas ist der Unterschied (falls vorhanden) zwischen Html.Partial (Ansicht, Modell) und Html.RenderPartial (Ansicht, Modell) in MVC2?
<% Html.RenderPartial(...); %>
<%= Html.Partial(...) %>
Wenn sie unterschiedlich sind, warum Sie eine eher als das andere nennen würde?
Die Definitionen:
// 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);
}
}
Ok, also gibt es keine :) wie ich dachte, ich kann sie nahtlos verwenden, denke ich. Danke :) –
Nein, der Unterschied ist der Rückgabetyp, wie SLaks sagte. Das ist nicht trivial. Performance-mäßig wurde behauptet, dass das Rendern direkt in den Ausgabestream besser ist (weshalb sie mit dem void RenderPartial gestartet wurden). Partiell ist meistens nützlich (imo) beim Testen, obwohl SLaks sagte, dass es einige Stellen gibt, an denen Sie die Ausgabe manipulieren wollen, bevor Sie sie im Produktionscode rendern. Sie sind nur selten, imo. – Paul
Teilweise ist auch hilfreich, wenn Sie die Ausgabe einer Ansicht im Controller abrufen möchten. Dies kann verwendet werden, um eine Ansicht zum Formatieren einer E-Mail zu verwenden. – Samg