Рекомендации по отображению контроллеров MVC в представления? - PullRequest
0 голосов
/ 17 сентября 2010

Каковы наилучшие практики при сопоставлении контроллеров с представлениями? Например, для URL-адресов mysite.com/login и mysite.com/register... у меня может быть свой LoginController и RegisterController сопоставить представлениям Login / Index.aspx и Register / Index.aspx. Кроме того, мой HomeController может обрабатывать оба из них и отображать их в Home / Login.aspx и Home / Register.aspx.

Один "лучше", чем другой?

Ответы [ 4 ]

0 голосов
/ 19 сентября 2010

это вопрос выбора. Некоторые люди против наличия большого количества кода в контроллере. они просят вас держать его как можно более минималистичным. добавление нового контроллера никак не повлияет на ваше приложение. Если у вас есть несколько действий или новый контроллер не повлияет на производительность. Вот что я следую: если у вас есть разные действия для каждой вашей страницы (скажем, в вашем случае страница входа и регистрации), тогда поместите их в отдельный контроллер, где они сгруппированы вместе. скажем для входа в систему у вас есть следующие действия: verifyInput, ForgotPassword, login, invalidLogin и т. д. а для регистра verifyInput, регенерацияCaptcha, createAccount, sendMail и т. д.

В этом случае у вас обязательно должно быть два контроллера

0 голосов
/ 17 сентября 2010

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

Ваш URL также может быть более читабельным. IE - mysite.com/login/ и mysite.com/register/

0 голосов
/ 18 сентября 2010

Я тоже прошел через эту дилемму на прошлой неделе. В конечном итоге я поместил представления PUBLIC, такие как «Вход», «Регистрация» и «Корзина», под контроллером «Домашний», а режим «PRIVATE», например «Мой профиль», «Список пожеланий», «История заказов», «Адресная книга» и т. Д., Под контроллером учетной записи.

Зачем смешивать представления, предназначенные для аутентифицированных пользователей, только в одном контроллере, который обрабатывает общедоступные страницы, которые могут видеть все?

Это моя логика.

0 голосов
/ 17 сентября 2010

Вход в систему и регистрация кажутся похожими действиями, которые можно поместить в один контроллер.Возможно, контроллер учетной записи?

Насколько мне кажется, было бы проще поддерживать один контроллер, который выполняет похожие или связанные действия, чем иметь несколько контроллеров.Я не уверен, какой из них более «правильный» способ сделать это.Может быть, просто личные предпочтения?

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