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