Какой способ вы предпочитаете создавать свои формы в MVC? - PullRequest
4 голосов
/ 03 сентября 2008

Как вы предпочитаете создавать свои формы в MVC?

<% Html.Form() { %>
<% } %>

Или

<form action="<%= Url.Action("ManageImage", "UserAccount") %>" method="post">
</form>

Я понимаю, что Html.Form () с PR5 теперь просто использует URL-адрес, указанный в запросе. Однако что-то в этом не устраивает меня, тем более что я получу весь багаж любых строк запросов, которые включены.

Что вы берете?

Ответы [ 6 ]

7 голосов
/ 03 сентября 2008

Второй способ, безусловно. Первый способ ориентирован на программиста, а это не то, чем занимается V-часть MVC. Второй способ более ориентирован на дизайнера, он привязывается только к модели там, где это необходимо, оставляя HTML максимально естественным.

3 голосов
/ 03 сентября 2008

В целом, я думаю, что я немного старомоден, так как предпочитаю катать свои собственные элементы HTML.

Я также предпочитаю механизм просмотра, подобный NHaml , который делает написание HTML почти на порядок проще.

1 голос
/ 04 сентября 2008

Я согласен с Эндрю Питерсом, СУХОЙ. Также следует указать, что вы можете указать свой контроллер, действие и параметры для помощника .Form (), и если они вписываются в ваши правила маршрутизации, то параметры строки запроса использоваться не будут.

Я также понимаю, что Уилл говорил о V в MVC. По моему мнению, я не думаю, что проблема заключается в том, чтобы поместить код в представление , если это делается для представления . Это действительно легко пересечь грань между контроллером и видом, если вы не будете осторожны. Лично я не могу использовать C # в качестве движка шаблонов без кровоточащих глаз и желания убить кого-то. Это помогает мне отделить логику, логику контроллера в C #, просмотреть логику в Брайле.

1 голос
/ 04 сентября 2008

Я полностью придерживаюсь мнения старой школы HTML, это то, что дизайнеры используют. По этой причине я не люблю включать много синтаксиса, ориентированного на код. Я рассматриваю движок представления веб-форм как стороннюю библиотеку, потому что я заменил его другим движком представления. Если вам не нравится, как работает модель представления веб-формы или направление, в котором она движется, вы всегда можете пойти другим путем . Это одна из главных причин, по которой я люблю ASP.NET MVC.

1 голос
/ 04 сентября 2008

Я должен согласиться с вами обоими, мне не очень нравится этот упрощенный стиль WebForms, который, кажется, интегрируется в MVC. Похоже, этот материал должен быть сторонней библиотекой или, по крайней мере, библиотекой расширений, которая может быть включена при необходимости или при желании.

0 голосов
/ 04 сентября 2008

Причина использования помощников заключается в том, что они позволяют инкапсулировать общие шаблоны в последовательной и СУХОЙ манере. Думайте о них как о способе рефакторинга представлений, чтобы удалить дублирование, как вы это делаете с обычным кодом.

Например, я веду блог о некоторых помощниках RESTful NHaml, которые могут создавать URL-адреса на основе модели.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...