2011-01-29 3 views
0

Я новичок в MVC и я одолжить книгу из библиотеки вчера на asp.net MVC 2.Проблема организации кода в ASP.NET MVC 2

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

Модель: -Declaring переменных

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

Просмотров: -Contain HTML, HTML Helper код, отображающее содержимое и использовать переменные из "Модели"

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

контроллера : - «Игра»/«Манипулирование» переменных из модели + Вызов «Вид» для отображения веб-страницы в конце (return View()). (Проверка пользовательского ввода для данного примера)

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

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

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

ответ

3

Я не уверен, но мне кажется, что «контроллер» является «тяжелым кодирование» часть для меня

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

+0

Другими словами, MVC может быть только одной небольшой частью гораздо большего приложения. Если у вас нет других проектов библиотеки классов, и вы создаете все приложение только с одним проектом MVC, вы не используете весь свой потенциал. – danludwig

0

Я также новичок в 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 на модели ... Так что Ваша контактная модель может выглядеть следующим образом:

class Contact: 
[Required] 
public string Name { get; set; } 
public string EmailAddress { get; set; } 

Это сделает имя свойство, требуемое для редактирования/создания просмотров.

Смежные вопросы