В чем разница (если есть) между Html.Partial (view, model) и Html.RenderPartial (view, model) в MVC2?
Помимо типа, который он возвращает, и того факта, что вы называете это по-разному, конечно
Если они разные, почему бы вам назвать их, а не другой?
Определения:
// 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); } }
- ASP.NET MVC - Поймать весь маршрут и маршрут по умолчанию
- Проверка: как ввести оболочку State Model с помощью Ninject?
- Как изменить сообщение об ошибке проверки по умолчанию в ASP.NET MVC?
- Параллельный просмотр стороны частичного просмотра диалогового windows Jquery при нажатии кнопки «Сохранить»
- Что делает Html.HiddenFor?
- ASP.NET MVC - аутентифицировать пользователей в Active Directory, но требует ввода имени пользователя и пароля
- Для чего нужны файлы Web.Debug.config и Web.Release.Config?
- ASP.NET MVC - получение имени текущей области в представлении или controllerе
- Asp.net mvc override OnException в базовом controllerе продолжает распространяться в Application_Error
- Когда `PostAuthenticateRequest` получает выполнение?
- Как использовать префикс привязки?
- ASP.NET MVC и кэширование IE - управление заголовками ответов неэффективно
- Проверка больших файлов при загрузке
Единственное отличие состоит в том, что Partial
возвращает MvcHtmlString
и должен быть вызван внутри <%= %>
, тогда как RenderPartial
возвращает void
и отображает непосредственно в представление.
Если вы посмотрите на исходный код , вы увидите, что оба они называют один и тот же внутренний метод, передавая StringWriter для его отображения.
Вы бы назвали Partial
если хотите просмотреть, сохранить или обработать сгенерированный HTML вместо того, чтобы записывать его на страницу.
HTML.RenderPartial не возвращает HTML-разметку, как большинство других вспомогательных методов. Вместо этого метод записывает контент непосредственно в stream ответов, поэтому разработчик должен вызывать его как целую строку C #, используя точку с запятой. Это немного более эффективно, чем буферизация визуализированного HTML из частичного представления, так как в любом случае он будет записан в stream ответов.