asp.net-mvcНачало работы с asp.net-mvc


замечания

Архитектурный шаблон Model-View-Controller (MVC) разделяет приложение на три основных компонента: модель, представление и контроллер. Структура ASP.NET MVC предоставляет альтернативу шаблону ASP.NET Web Forms для создания веб-приложений. Структура ASP.NET MVC представляет собой легкую, высоко проверяемую среду представления, которая (как и для приложений на основе веб-форм) интегрирована с существующими функциями ASP.NET, такими как мастер-страницы и аутентификация на основе членства. Структура MVC определена в сборке System.Web.Mvc.

Структура MVC включает следующие компоненты:

  • Модели . Объекты модели - это части приложения, которые реализуют логику для области данных приложения. Часто объекты модели извлекают и сохраняют состояние модели в базе данных. Например, объект Product может извлекать информацию из базы данных, работать с ней, а затем записывать обновленную информацию обратно в таблицу Products в базе данных SQL Server. В небольших приложениях модель часто представляет собой концептуальное разделение, а не физическое. Например, если приложение только считывает набор данных и отправляет его в представление, приложение не имеет физического уровня модели и связанных классов. В этом случае набор данных берет на себя роль модельного объекта.
  • Просмотров . Представления - это компоненты, отображающие пользовательский интерфейс приложения (UI). Как правило, этот пользовательский интерфейс создается из данных модели. Примером может служить представление редактирования таблицы Products, в которой отображаются текстовые поля, раскрывающиеся списки и флажки, основанные на текущем состоянии объекта Product.
  • Контроллеры . Контроллеры - это компоненты, которые обрабатывают взаимодействие пользователя, работают с моделью и в конечном итоге выбирают представление для визуализации, отображающее пользовательский интерфейс. В приложении MVC в представлении отображается только информация; контроллер обрабатывает и отвечает на ввод и взаимодействие пользователя. Например, контроллер обрабатывает значения строки запроса и передает эти значения модели, что, в свою очередь, может использовать эти значения для запроса к базе данных.

Версии

Версия Версия .NET Дата выхода
MVC 1.0 .NET 3.5 2009-03-13
MVC 2.0 .NET 3.5 / 4.0 2010-03-10
MVC 3.0 .NET 4.0 2011-01-13
MVC 4.0 .NET 4.0 / 4.5 2012-08-15
MVC 5.0 .NET 4.5 2013-10-17
MVC 5.1 .NET 4.5 2014-01-17
MVC 5.2 .NET 4.5 2014-08-28
MVC 6.0 .NET 4.5 2015-11-18
Core MVC 1.0 .NET 4.5 2016-07-12
Core MVC 1.1 .NET 4.5 2016-11-18

Привет MVC!

ASP.NET MVC - это веб-приложение с открытым исходным кодом. Сам MVC представляет собой шаблон проектирования, который построен вокруг трех основных компонентов: model-view-controller .

Модель - Модели отражают ваши бизнес-объекты и являются средством передачи данных между контроллерами и представлениями.

View - Представления - это страницы, которые отображают и отображают данные модели пользователю. Представления ASP.NET MVC обычно пишутся с использованием синтаксиса Razor.

Контроллер. Контроллеры обрабатывают входящие HTTP-запросы от клиента и обычно возвращают одну или несколько моделей в соответствующий вид.

Возможности ASP.NET MVC:

  1. Идеально подходит для разработки сложных, но легких приложений
  2. Он обеспечивает расширяемую и подключаемую структуру, которую можно легко заменить и настроить. Например, если вы не хотите использовать встроенный Razor или ASPX View Engine, то вы можете использовать любые другие сторонние механизмы просмотра или даже настроить существующие.
  3. Использует компонентную конструкцию приложения, логически разделяя его на компоненты Model, View и Controller. Это позволяет разработчикам управлять сложностью крупномасштабных проектов и работать с отдельными компонентами.
  4. Структура MVC повышает тестовую разработку и тестируемость приложения, поскольку все компоненты могут быть разработаны на основе интерфейса и протестированы с использованием макетных объектов. Следовательно, ASP.NET MVC Framework идеально подходит для проектов с большой командой веб-разработчиков.
  5. Поддерживает все существующие обширные функции ASP.NET, такие как авторизация и аутентификация, мастер-страницы, привязка данных, пользовательские элементы управления, членство, маршрутизация ASP.NET и т. Д.
  6. Он не использует концепцию состояния просмотра (которая присутствует в ASP.NET). Это помогает создавать приложения, которые легки и дают полный контроль над разработчиками.

Простое приложение MVC

Мы собираемся создать простое приложение MVC, которое отображает детали человека. Создайте новый проект MVC с помощью Visual Studio. Добавьте новую модель с именем Person to Models следующим образом:

public class Person
{
    public string Surname { get; set; }
    public string FirstName { get; set; }
    public string Patronymic { get; set; }
    public DateTime BirthDate { get; set; }
}
 

Добавьте новый контроллер в папку контроллеров:

public class HomeController : Controller
{
    //Action Method
    public ActionResult Index()
    {
        // Initialize model
        Person person = new Person
        {
            Surname = "Person_SURNAME",
            FirstName = "Person_FIRSTNAME",
            Patronymic = "Person_PATRONYMIC",
            BirthDate = new DateTime(1990, 1, 1)
        };

        // Send model to View for displaying to user
        return View(person);
    }
}
 

Наконец добавьте View to / Views / Home / folder с именем Index.cshtml :

@* Model for this view is Person *@
@model Hello_MVC.Models.Person

<h2>Hello @Model.FirstName !</h2>

<div>
    <h5>Details:</h5>
    <div>
        @Html.LabelFor(m => m.Surname)
        @Html.DisplayFor(m => m.Surname)
    </div>
    <div>
        @Html.LabelFor(m => m.FirstName)
        @Html.DisplayFor(m => m.FirstName)
    </div>
    <div>
        @Html.LabelFor(m => m.Patronymic)
        @Html.DisplayFor(m => m.Patronymic)
    </div>
    <div>
        @Html.LabelFor(m => m.BirthDate)
        @Html.DisplayFor(m => m.BirthDate)
    </div>
</div>