Мастер-страницы. Частичные представления. Примеры.



Мастер-страницы используются для создания единообразного, унифицированного вида сайта. Мастер-страницы - это представления, позволяющие включать в себя другие представления.Например, можно определить на мастер-странице общие для всех остальных представлений элементы, а также подключить общие стили и скрипты.

По умолчанию при создании нового проекта ASP.NET MVC 5 в проект уже добавляется мастер-страница под названием _Layout.chtml, которую можно найти в каталоге Views/Shared.

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8" />

<title>@ViewBag.Title</title>

<link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" />

</head>

<body>

<nav>

<ul class="menu">

<li>@Html.ActionLink("Главная", "Index", "Home")</li>

</ul>

</nav>

@RenderBody()

</body>

</html>

Метод @RenderBody() - является заместителем, на место которого потом будут подставляться другие представления, использующие данную мастер-страницу. Чтобы в представлении использовать мастер-страницу, нам надо в секции Layout указать путь к нужной мастер-странице. Например, в представлении Index.cshtml можно определить мастер-страницу так:  

@{

Layout = "~/Views/Shared/_Layout.cshtml";

}

Если мы не используем мастер-страницу, то указываем Layout = null;.

Также необязательно для всех представлений использовать одну и ту же мастер-страницу. Можно определить несколько мастер-страниц, например, одну для форума, одну для блога и т.д., и в зависимости от раздела сайта подключать нужную. Добавляются в проект они также, как и обычные представления.

 

Общая характеристика моделей. EntityFramework.

 

Все сущности в приложении принято выделять в отдельные модели. В зависимости от поставленной задачи и сложности приложения можно выделить различное количество моделей.Модели представляют собой простые классы и располагаются в проекте в каталоге Models. Модели описывают логику данных. Например, модель, представляющая книгу и ее покупку:

public class Book

{

// ID книги

public int Id { get; set; }

// названиекниги

public string Name { get; set; }

// авторкниги

public string Author { get; set; }

// цена

public int Price { get; set; }

}

public class Purchase

{

public int PurchaseId { get; set; }

public string Person { get; set; }

public string Address { get; set; }

public int BookId { get; set; }

public DateTime Date { get; set; }

}

Данные моделей, как правило, хранятся в базе данных. Для работы с базой данных очень удобно пользоваться фреймворком Entity Framework, который позволяет абстрагироваться от написания sql-запросов, от строения базы данных и полностью сосредоточиться на логике приложения.Entity Framework (EF) — это объектно-реляционный модуль сопоставления, позволяющий разработчикам .NET работать с реляционными данными с помощью объектов, специализированных для доменов. Это устраняет необходимость в написания большей части кода для доступа к данным, который обычно требуется разработчикам.Для подключения к базе данных через Entity Framework, нам нужен посредник - контекст данных.Контекст данных представляет собой класс, производный от класса DbContext. Контекст данных содержит одно или несколько свойств типа DbSet<T>, где T представляет тип объекта, хранящегося в базе данных. Например, создадим контекст данных для работы с вышеприведенными моделями:

namespaceBookStore.Models

{

public class BookContext : DbContext

{

public DbSet<Book> Books { get; set; }

public DbSet<Purchase> Purchases { get; set; }

}

}

С помощью свойств Books и Purchases мы получаем доступ к данным соответствующих моделей, которые хранятся в базе данных.

Способы взаимодействия с БД:

Entity Framework предполагает три возможных способа взаимодействия с базой данных:

§ Database first: Entity Framework создает набор классов, которые отражают модель конкретной базы данных

§ Model first: сначала разработчик создает модель базы данных, по которой затем Entity Framework создает реальную базу данных на сервере.

§ Code first: разработчик создает класс модели данных, которые будут храниться в БД, а затем Entity Framework по этой модели генерирует базу данных и ее таблицы

 


Дата добавления: 2018-05-02; просмотров: 255; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!