MVC Framework - первое приложение
Давайте приступим и создадим наше первое приложение MVC с использованием представлений и контроллеров. Получив небольшой практический опыт работы с базовым приложением MVC, мы изучим все отдельные компоненты и концепции в следующих главах.
Создать первое приложение MVC
Step 1- Запустите Visual Studio и выберите File → New → Project. Выберите Интернет → Веб-приложение ASP.NET MVC и назовите этот проект какFirstMVCApplicatio. Выберите Местоположение какC:\MVC. Щелкните ОК.


Step 2- Откроется опция «Шаблон проекта». Выберите «Пустой шаблон» и «Просмотреть движок как Razor». Щелкните ОК.

Теперь Visual Studio создаст наш первый проект MVC, как показано на следующем снимке экрана.

Step 3- Теперь мы создадим первый контроллер в нашем приложении. Контроллеры - это простые классы C #, содержащие несколько общедоступных методов, известных как методы действий. Чтобы добавить новый контроллер, щелкните правой кнопкой мыши папку Controllers в нашем проекте и выберите Добавить → Контроллер. Назовите контроллер HomeController и нажмите «Добавить».


Это создаст файл класса HomeController.cs в папке Controllers со следующим кодом по умолчанию.
using System;
using System.Web.Mvc;
namespace FirstMVCApplication.Controllers {
public class HomeController : Controller {
public ViewResult Index() {
return View();
}
}
}
Приведенный выше код в основном определяет открытый метод Index внутри нашего HomeController и возвращает объект ViewResult. На следующих шагах мы узнаем, как вернуть View с помощью объекта ViewResult.
Step 4- Теперь мы добавим новый вид в наш домашний контроллер. Чтобы добавить новое представление, щелкните папку просмотра правой кнопкой мыши и выберите Добавить → Просмотр.

Step 5- Назовите новое представление как Index и View Engine как Razor (SCHTML). Щелкните Добавить.

Это добавит новый cshtml файл внутри папки Views / Home со следующим кодом -
@{
Layout = null;
}
<html>
<head>
<meta name = "viewport" content = "width = device-width" />
<title>Index</title>
</head>
<body>
<div>
</div>
</body>
</html>
Step 6 - Измените содержимое тела вышеуказанного представления с помощью следующего кода -
<body>
<div>
Welcome to My First MVC Application (<b>From Index View</b>)
</div>
</body>
Step 7- Теперь запустите приложение. Это даст вам следующий результат в браузере. Этот вывод отображается на основе содержимого в нашем файле просмотра. Приложение сначала вызывает контроллер, который, в свою очередь, вызывает это представление и производит вывод.

На шаге 7 результат, который мы получили, был основан на содержимом нашего файла представления и не взаимодействовал с контроллером. Продвигаясь вперед, мы создадим небольшой пример отображения приветственного сообщения с текущим временем, используя взаимодействие View и Controller.
Step 8- MVC использует объект ViewBag для передачи данных между контроллером и представлением. Откройте HomeController.cs и отредактируйте функцию Index на следующий код.
public ViewResult Index() {
int hour = DateTime.Now.Hour;
ViewBag.Greeting =
hour < 12
? "Good Morning. Time is" + DateTime.Now.ToShortTimeString()
: "Good Afternoon. Time is " + DateTime.Now.ToShortTimeString();
return View();
}
В приведенном выше коде мы устанавливаем значение атрибута Greeting объекта ViewBag. Код проверяет текущий час и возвращает сообщение «Доброе утро / день», используя оператор return View (). Обратите внимание, что здесь Greeting - это просто пример атрибута, который мы использовали с объектом ViewBag. Вместо приветствия можно использовать любое другое имя атрибута.
Step 9 - Откройте Index.cshtml и скопируйте следующий код в основной раздел.
<body>
<div>
@ViewBag.Greeting (<b>From Index View</b>)
</div>
</body>
В приведенном выше коде мы получаем доступ к значению атрибута Greeting объекта ViewBag с помощью @ (который может быть установлен из контроллера).
Step 10- Теперь снова запустите приложение. На этот раз наш код сначала запустит контроллер, установит ViewBag, а затем отобразит его с помощью кода просмотра. Ниже будет вывод.
