Одной из новых функций в ASP.NET MVC 2 Preview 1 является поддержка концепции шаблонов редактора и шаблонов отображения, которые позволяют заранее определить, каким образом данный объект будет отображаться для отображения или редактирования с помощью простого помощника HTML. по телефону:
<%=Html.EditorFor(customer => customer) %>
<%=Html.DisplayFor(customer => customer) %>
Это довольно круто, но я не вижу разницы между этим и частичным представлением, которое служит той же цели. Кроме того, в примерах я видел, что шаблоны редактора не содержат фактических тегов формы, и в случае, когда мне нужно предоставить некоторую функциональность на стороне клиента для данного редактора (например, через jQuery), я не могу безопасно поместить этот код шаблон, потому что у меня не будет статического дескриптора в форме, к которой я добавляю логику в клиенте. В приложении, над которым я работаю, у меня есть смесь шаблонов редактора и частичных представлений, которые я отображаю для редактирования содержимого. В зависимости от сложности формы я создаю редактор, для которого я выбрал один подход по сравнению с другим, но это, конечно, добавляет нежелательный уровень несогласованности в приложении.
Зачем использовать шаблон поверх частичного просмотра или наоборот? Кроме того, при использовании шаблона редактора, каков идеальный способ добавить клиентскую логику в редактор, не копируя ее в каждое представление, использующее этот редактор?