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