ASP.NET MVC: я делаю это правильно? - PullRequest
2 голосов
/ 10 сентября 2009

Так что я старый парень из веб-форм и новичок в MVC (в общем, не только в ASP.NET) фреймворке. Мои взгляды начинают напоминать старый добрый классический ASP. Не то, чтобы я добавлял какую-либо бизнес-логику или что-то еще, а скорее логику представления. Я получаю множество тегов <% %> и операторов if/else для выбора ссылок для отображения или используемых стилей.

Я также думал о выборе стилей или ссылок в контроллере и установке их в модели, но звучит как нарушение цели MVC.

В итоге я игнорирую <% %>, чтобы убедиться, что мой HTML правильно сформирован.

Я хочу услышать ваше мнение. Ваши взгляды совпадают с моими? Я что-то не так делаю?

Ответы [ 4 ]

2 голосов
/ 10 сентября 2009

Если у меня тонна логики представления, я пытаюсь переместить ее в расширение из класса HtmlHelper.

1 голос
/ 10 сентября 2009

Наряду с тем, что сказал mxmissle (я проголосовал за него), я скажу, что сделаю частичное представление, чтобы переместить сложные области страницы в отдельный файл, это поможет очистить вещи и повторно использовать код.

Я считаю, что если ASP выглядит слишком старым, пришло время провести рефакторинг. Удивительно, что вы можете очистить класс помощника или частичное представление, или просто повторить, используя что-то более краткое.

Редактировать: Кроме того, если он выглядит слишком старомодным ASP, возможно, у вас есть логика, которая вам не подходит.

0 голосов
/ 10 сентября 2009

Да, вы все делаете правильно. ASP.NET MVC не является улучшением по сравнению с классическими веб-формами во всех отношениях. У него есть свои преимущества и недостатки (одним из недостатков, как вы обнаружили, является «суп из тегов»).

Есть несколько способов облегчить боль (перенести как можно больше логики в модель, HTML-помощники, частичные представления и т. Д.), Но этого трудно избежать.

0 голосов
/ 10 сентября 2009

Я обычно создаю класс ViewModel, специфичный для каждого представления, который содержит любую логику, связанную с конкретным представлением. Это хорошо для ситуаций, когда результатом условия является простой тег DIV или SPAN, который на самом деле не требует их собственного расширения или частичного просмотра.

Я считаю, что это очистит многие классические ASP'ищи в моих взглядах.

См. блог Стивена Вальтера для получения дополнительной информации об этом подходе.

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