Проблема организации кода в asp.net MVC 2 - PullRequest
0 голосов
/ 29 января 2011

Я новичок в MVC и вчера одолжил книгу из библиотеки на asp.net MVC 2.

Я немного озадачен тем, какой код должен быть включен в модель, представление и контроллер. Я работал над проверкой пользовательского ввода из книги, и если я правильно понял, кажется, что они объявляют переменные в «Model», проверяют пользовательский ввод в «Controller» и отображают веб-страницу в «View».

Модель: Декларирование переменных

e.g: 
class Contact:
public string Name { get; set; }
public string EmailAddress { get; set; }

Просмотров: 1011 * * Содержит код HTML, HTML Helper, отображает содержимое и использует переменные из «Model»

e.g: 
<%: Html.TextBoxFor(model => model.Name) %>
<%: Html.ValidationMessageFor(model => model.Name) %>

Контроллер: - «Воспроизведение» / «Управление» переменными из Model + вызов «View» для отображения веб-страницы в конце (возврат View ()). (Проверка ввода пользователя для этого примера)

e.g:
if (String.IsNullOrEmpty(contact.Name))
   ModelState.AddModelError("Name", "Please enter your name.");

Я не уверен, но мне кажется, что «Контроллер» для меня является «тяжелым кодированием». С другой стороны, «Вид» - это старый добрый HTML, разметка, отображающая веб-сайт, а «Модель» - это место, где хранятся данные (например, объявление переменных).

Пожалуйста, дайте мне знать, в правильном ли я направлении. Спасибо:)

Ответы [ 2 ]

3 голосов
/ 29 января 2011

Я не уверен, но мне кажется, что "Контроллер" является для меня частью "тяжелого кодирования"

Вам следует избегать жирных контроллеров.Фактически контроллер может зависеть от сервисного уровня, который содержит бизнес-логику вашего приложения.Этот уровень обслуживания сам может зависеть от хранилищ, выполняющих доступ к данным (простые операции CRUD) на моделях.Таким образом, контроллер просто вызовет вызов бизнес-операции на сервисном уровне для извлечения / обновления модели, а затем передаст модель представления в представление для его отображения.

0 голосов
/ 29 января 2011

Я также новичок в MVC, и первое, что я сделал, когда начал, - просмотрел большинство выступлений Скотта Хансельмана и Фила Хаака.Так что вы можете попробовать это: [http://channel9.msdn.com/blogs/matthijs/aspnet-mvc-2-basics-introduction-by-scott-hanselman][1]

[1]: http://channel9.msdn.com/blogs/matthijs/aspnet-mvc-2-basics-introduction-by-scott-hanselman, чтобы начать.Из того, что я получил, Дарин прав.Старайтесь избегать жирных контроллеров и работайте с репозиторием для вашей модели.Кроме того, я заметил, что для простой проверки (требуется, максимальная длина строки и т. Д.) Предпочтительно использовать DataAnnotion на модели ... Таким образом, ваша модель контакта может выглядеть следующим образом:свойство Name, необходимое для редактирования / создания представлений.

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