UR.ANUS
Asp.net mvc framework
вернуться

Магдануров Гайдар Ильдарович

Шрифт:

Листинг 5.6. Представление Index.aspx

<%@ Page Language="C#"

MasterPageFile="~/Views/Shared/Site.Master"

Inherits="System.Web.Mvc.ViewPage" %>

<%@ Import Namespace="MvcViewsDemo.Models" %>

<asp:Content ID="indexTitle"

ContentPlaceHolderID="TitleContent" runat="server">

Домашняя страница

</asp:Content>

<asp:Content ID="indexContent" ContentPlaceHolderID="MainContent" runat="server">

<h2>

<%= Html.Encode(ViewData ["Message"]) %></h2>

<table>

<thead>

<tr>

<th>

Название компании

</th>

<th>

Контактное лицо

</th>

</tr>

</thead>

<% foreach

(Customer c in (IEnumerable<Customer>)ViewData["Customers"]

) { %>

<tr>

<td>

<%= c.CompanyName %>

</td>

<td>

<%= c.ContactName %>

</td>

</tr>

<% } %>

</table>

</asp:Content>

В результате выполнения примера приведенное ранее представление будет отображено в виде, показанном на рис. 5.1.

В тексте листинга 5.6 управляющие конструкции выделены полужирным шрифтом.

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

<%= значение %>

Конструкция вида <%= значение %> используется для вывода значений в результирующий код HTML-разметки. Тип значения может быть любым, который может быть приведен к строке. Значение будет выведено именно в том месте разметки, в котором оно размещено.

<% управляющая конструкция %>

Управляющие инструкции позволяют проверять выполнение некоторых условий для вывода той или иной HTML-разметки (условия) либо многократно повторять фрагменты HTML-разметки (циклы).

Оформляются управляющие конструкции по приведенному далее шаблону.

<% инструкция (условия) { %>

Произвольный HTML-код, который может

перемежаться другими

управляющими инструкциями

<% } %>

Пример использования цикла приведен в листинге 5.6, применение условий выглядит аналогично:

<% if (Request.IsAuthenticated) { %>

Добро пожаловать

<b><%= Html.Encode(Page.User.Identity.Name) %></b>!

[ <%= Html.ActionLink("Выход", "LogOff", "Account") %> ]

<%

} else {

%>

[ <%= Html.ActionLink("Вход", "LogOn", "Account") %> ]

<% } %>

Вспомогательные методы

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

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

Вспомогательным методом может быть любой статический метод, доступный на уровне представления, однако для упрощения общей структуры проектов MVC их принято группировать в рамках класса HtmlHelper. В табл. 5.1 приведен список основных вспомогательных методов класса HtmlHelper.

Таблица 5.1. Вспомогательные методы класса HtmlHelper

Большая часть вспомогательных методов реализованы как методы-расширения C# 3.0 для класса HtmlHelper (статические методы, определенные вне класса HtmlHelper). Такой подход был избран для того, чтобы разработчики легко могли расширять набор вспомогательных методов в собственных классах и не перегружать сам класс HtmlHelper.

  • Читать дальше
  • 1
  • ...
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • ...

UR.ANUS - русскоязычная библиотека для чтения онлайн. Здесь удобно открывать книги с телефона и ПК, возвращаться к сохраненной странице и держать любимые произведения под рукой. Материалы добавляются пользователями; если считаете, что ваши права нарушены, воспользуйтесь формой обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • support@anus.bid