Я только что прочитал это сообщение в блоге на Шаблон бритвы в ASP.NET MVC 3.
Проще говоря, Я просто не понимаю!
То есть, я не понимаю, почему нам нужен этот (довольно) сложный код для достижения того, что можно сделать IMO проще (и точнее) с помощью @RenderPartial
?
Вот что мне не нравится:
- Шаблон хранится как
Func<T,HelperResult>
делегат?
- Этот делегат шаблона сохраняется в ViewData контроллера (например, HttpContext.Current.Items)
Единственное «преимущество», которое я прочитал из этого блога, заключается в том, что отдельный файл не требуется для шаблонов, то есть вам не нужно перекомпилировать и т. Д.
Но я не вижу в этом веского аргумента. С дополнительными файлами все в порядке, если организация решения не взломана.
Я предпочитаю использовать @RenderPartial
, так как я могу держать разметку отдельно от главного представления, и я могу отображать это как inline (время визуализации), так и с помощью jQuery (например, событие AJAX).
Может быть, я что-то здесь упускаю, но кто-нибудь может объяснить, почему мы должны выбрать Razor Templating вместо RenderPartial для создания повторно используемого контента?