
- •1. Цель работы
- •2. Общие сведения
- •Жизненный цикл запроса.
- •Работа с веб-формами
- •2.2. Необходимый инструментарий
- •3. Ход работы
- •3.1. Создание шаблона mvc
- •3.2 Удаление из шаблона примеров кода
- •3.3 Создание (подключение) бд
- •3.4 Создание модели данных
- •3.5 Реализация шаблона проектирования Data Access Object
- •3.6 Создание контроллера
- •3.7 Сборка проекта
- •3.8 Создание представлений
- •3.9 Добавление новой записи в таблицу GuestBook из веб-приложения
- •4. Задание для самостоятельного выполнения
- •5. Подводя итоги
- •6. Вопросы для самопроверки
3.7 Сборка проекта
Данное действие выделено в отдельный пункт, т.к. для генерации представлений необходимо иметь собранные Models и Controllers. В Visual Studio выполняем команду из меню Build / Build Solution.
3.8 Создание представлений
После сборки проекта можно приступить к заключительной части создания триады шаблона MVC – добавлению представлений (aspx-страниц).
В файле Controllers\HomeController.cs над методом public ActionResult Index() либо внутри него щелкаем правой кнопкой мыши и выбираем Add View… (либо в Solution Explorer на папке Views\Home и выбираем Add / View… и добавляем одноименное методу представление).
В диалоге Add View нажимаем Create a strongly-typed view. Выберем класс для представления mvcApplication.Models.Records и View content типа List.
В после нажатия кнопки Add получим файл следующего содержания:
Листинг 6 – Views\Home\Index.aspx
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<IEnumerable<mvcApplication.Models.Records>>" %>
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
Index
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<h2>Index</h2>
<table>
<tr>
<th></th>
<th>
ID
</th>
<th>
Title
</th>
<th>
Author
</th>
<th>
PublicationDate
</th>
</tr>
<% foreach (var item in Model) { %>
<tr>
<td>
<%= Html.ActionLink("Edit", "Edit", new { /* id=item.PrimaryKey */ }) %> |
<%= Html.ActionLink("Details", "Details", new { /* id=item.PrimaryKey */ })%>
</td>
<td>
<%= Html.Encode(item.ID) %>
</td>
<td>
<%= Html.Encode(item.Title) %>
</td>
<td>
<%= Html.Encode(item.Author) %>
</td>
<td>
<%= Html.Encode(String.Format("{0:g}", item.PublicationDate)) %>
</td>
</tr>
<% } %>
</table>
<p>
<%= Html.ActionLink("Create New", "Create") %>
</p>
</asp:Content>
Необходимо изменить это представление – заменить строки:
<%= Html.ActionLink("Edit", "Edit", new { /* id=item.PrimaryKey */ }) %> |
<%= Html.ActionLink("Details", "Details", new { /* id=item.PrimaryKey */ })%>
на следующие:
<%= Html.ActionLink("Edit", "Edit", new { ID = item.ID }) %> |
<%= Html.ActionLink("Details", "Details", new { ID = item.ID })%>
После создания представления можно приступить к самому главному – запустить проект, нажав в меню на Debug / Start Debugging или клавишу F5. Во время первого запуска появится уведомление о выборе режима запуска приложения. Выберите Modify the Web.config file to enable debugging.
Представление Index будет вызвано по умолчанию. В нем будут выведены все данные, которые находятся в таблице GuestBook (Рисунок 8).
Рисунок 8 – Index-представление
Данное представление содержит ссылку Create New, по нажатию на которую будем переходить к добавлению нового контакта. Следующий пункт посвящен именно этому.