Создаем папку ViewModels. Создаем свой класс в папке ViewModels. Это хороший стиль программирования для передачи данных из Controller во View. Web приложение ASP.NET MVC
last updated: 19 May 2020
Классы которые передаются во
View нужно хранить в папке
ViewModels .
Этим правилом (использовать папку
ViewModels ) я пользуюсь на работе.
Папку
ViewModels используют в других компаниях тоже.
Скачать пример:
MyAspNetWebApplication_ViewModels.zip ...
Шаг 1. Создаем новое приложение ASP.NET MVC ...
Шаг 2. Создаем новую папку ViewModels
Создадим папку ViewModels для хранения классов .
Эти классы будут передаваться в представления .
Шаг 3. Создадим новый файл Book.cs в папке ViewModels
Нажимаем правой клавишей мыши на папку Models в Solution Explorer → Models → Add → New Item
В окне выбираем: Visual C# → Code → Class
Пишем имя файла Book.cs
Нажимаем на кнопку Add . Видим, что файл создался.
Напишем код:
C#
Файл Models\Book.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace WebApplication1.Models
{
public class Book
{
public int Price;
public string Name;
}
}
Шаг 4. Создадим объекта класса Book в Controller
В Controller создадим Book
C#
В файле Controllers/HomeController.cs напишем код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using AspNetWebApplication.ViewModels;
namespace AspNetWebApplication.Controllers
{
public class HomeController : Controller
{
// GET: Home
public ActionResult Index()
{
Book book = new Book
{
Name = "Волшебник Средиземноморья" ,
Price = 200
};
return View(book );
}
}
}
Объект Book передается с Controller во View вот так:
return View(book);
Шаг 5. Отображаем объект класса Book в представлении (View)
Во View покажем Name и Price из объекта Book .
В файле Views/Home/Index.cshtml напишем код:
@model AspNetWebApplication.ViewModels.Book
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title> Index</title>
</head>
<body>
<!-- show book name -->
<font color="green" >Название книги</font>
@Model.Name
<!-- new line -->
<br />
<!-- show book price -->
<font color="green" >цена=</font>
@Model.Price
</body>
</html>
Результат примера