В чем разница (если есть) между 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); } } 

Единственное отличие состоит в том, что Partial возвращает MvcHtmlString и должен быть вызван внутри <%= %> , тогда как RenderPartial возвращает void и отображает непосредственно в представление.

Если вы посмотрите на исходный код , вы увидите, что оба они называют один и тот же внутренний метод, передавая StringWriter для его отображения.

Вы бы назвали Partial если хотите просмотреть, сохранить или обработать сгенерированный HTML вместо того, чтобы записывать его на страницу.

HTML.RenderPartial не возвращает HTML-разметку, как большинство других вспомогательных методов. Вместо этого метод записывает контент непосредственно в stream ответов, поэтому разработчик должен вызывать его как целую строку C #, используя точку с запятой. Это немного более эффективно, чем буферизация визуализированного HTML из частичного представления, так как в любом случае он будет записан в stream ответов.

  • Как написать простой Html.DropDownListFor ()?
  • asp.net mvc azure "Ошибка доступа к хранилищу данных!"
  • RegularExpressionAttribute - Как сделать это не чувствительным к регистру для проверки на стороне клиента?
  • Asp.Net MVC 2 - привязать свойство модели к другому имени
  • Почему результаты Redirect не разрешены в дочерних действиях в Asp.net MVC 2
  • ASP.NET MVC Html.DropDownList, заполненный вызовом Ajax для controllerа?
  • Использование DataAnnotations с платформой Entity Framework
  • Добавление подкаталога в папку «View / Shared» в ASP.Net MVC и вызов представления
  • Как настроить маршрутизацию ASP.NET MVC, чтобы скрыть имя controllerа на домашней странице?
  • Отображение разницы между двумя значениями datetime в часах
  • ASP.Net MVC - чтение файла из HttpPostedFileBase без сохранения
  • Давайте будем гением компьютера.