ASP.NET MVC Views - Могу ли я использовать выделенный код - PullRequest
5 голосов
/ 10 декабря 2008

Я новичок в MVC и заметил, что страницы просмотра могут выглядеть довольно неприятно со всеми смешанными тегами скрипта. Имеет ли смысл сгенерировать HTML в методе в представлении code-behind, а затем просто вставить строковый результат метода в виде одного бита скрипта?

Например: <div><%= GenerateTonsOfHTMLFromSomeIEnumerable() %></div>

Это противоречит философии MVC? Тупой по какой-то другой причине, например, производительности? Есть ли в этом заслуга?

Ответы [ 4 ]

10 голосов
/ 10 декабря 2008

Это вопрос практики.

Вот интересное чтение.

  1. Кодовые файлы являются злыми

  2. Кодовые файлы не являются злыми

Также есть интересная статья "Роб Конери"

  1. Встроенные сценарии и код позади

Итак, выбор за вами. Это зависит от архитектуры вашего приложения, от того, как вы хотите его структурировать, бла-бла ...

Я полагаю, что преимущество с представлениями без кода позади состоит в том, что гораздо проще переключиться на другой viewengine, который не поддерживает codebehind.

Хоть и будет какое-то количество работы, но все же это будет очень гладко.

1 голос
/ 03 февраля 2009

Я бы не стал. Вам просто нужно серьезно забыть о файле codebehind. На самом деле в MVC Framework RC1 по умолчанию нет файла кода для ваших представлений. Независимо от того, какую обработку c # вы хотите выполнить для визуализации своего представления, вы можете сделать это в соответствии с вашим HTML. Если вы думаете о некоторой обработке данных, сделайте себе одолжение и поместите это в контроллер.

Это смена парадигмы, лучше всего просто избавиться от старых привычек.

1 голос
/ 12 декабря 2008

ОК, нарисуйте еще один для кривой обучения. Я думаю, что мог бы найти ответ на свой вопрос ...

ASP MVC позволяет установить ваши собственные пользовательские механизмы просмотра, которые можно использовать (вместо стандартного механизма просмотра ASP.NET). Таким образом, вы можете контролировать генерацию HTML. Если вы знаете, что искать, это просто:)

Вот хорошее место для начала: Пример пользовательского вида двигателя

@ Раджеш - Спасибо за отличные ссылки!

0 голосов
/ 10 декабря 2008

Вы также можете использовать код позади. Это всего лишь вопрос стиля.

...