Я просто ищу, как эти два разные, и каковы их плюсы и минусы?Каковы различия между шаблонами редакторов и частичными представлениями?
Кажется, вы можете делать все с частичными видами, которые вы можете делать с помощью шаблонов.
Я просто ищу, как эти два разные, и каковы их плюсы и минусы?Каковы различия между шаблонами редакторов и частичными представлениями?
Кажется, вы можете делать все с частичными видами, которые вы можете делать с помощью шаблонов.
Если вы имеете в виду EditorTemplates (а не встроенные шаблоны), то есть некоторые большие различия. Во-первых, частичные представления требуют, чтобы вы указывали свое представление, когда используете их, а шаблоны работают над типом объекта данных.
Во-вторых, поскольку шаблоны работают с типами данных, то при внесении изменений в шаблон он меняет его везде, где используется этот тип, а не только там, где используется частичный вид (это может быть недостатком, а также в некоторых случаев).
В-третьих, шаблонам передается дополнительная информация, частичное представление которых отсутствует, в частности, вы получаете метаданные модели, такие как созданные атрибутами.
Не так ли? получить ModelMetadata на частичных тоже? Я думал, что ModelMetadata является свойством ViewData и не специфична для шаблонов Display & Editor. – danludwig
@olivehour - Да, свойство есть, но оно имеет значение null, когда вы обращаетесь к нему с точки зрения или частичного. Он заполнен только шаблонами. –
, если вы имеете в виду «встроенные помощники», это просто более простой способ создания эквивалента методов расширения HtmlHelper, но они предназначены только для использования в конкретном представлении. частичные представления, с другой стороны, могут иметь больше логики позади них (через их контроллер), не нарушая MVC, и их можно легко повторно использовать из нескольких видов.
Нет, он ссылается на систему шаблонов «EditorFor» и «DisplayFor». –
Вопрос не имеет ничего общего с Razor или MVC3, поэтому я изменил заголовок и ключевые слова –
Извините, но вы только что изменили вопрос в соответствии с вашим ответом? =) Pls, см. Следующую ссылку (это то, о чем я говорил): http://stackoverflow.com/questions/4383554/asp-net-mvc-3-razor-templates-vs-renderpartial – Andrei