Разделы презентаций


Представления

Содержание

ПланМодель представленияМакеты страницЧастичные представленияВспомогательные методы в шаблонах представленийПользовательские вспомогательные методы

Слайды и текст этой презентации

Слайд 1Представления
ASP.NET MVC 4.0
2013

ПредставленияASP.NET MVC 4.02013

Слайд 2План
Модель представления
Макеты страниц
Частичные представления
Вспомогательные методы в шаблонах представлений
Пользовательские вспомогательные методы





ПланМодель представленияМакеты страницЧастичные представленияВспомогательные методы в шаблонах представленийПользовательские вспомогательные методы

Слайд 3Модель представления

Способы обмена данными между контроллером и представлением:
ViewData: ViewDataDictionary
ViewData.Model
ViwBag: dynamic

Модель

представления – это данные, структура которых воспроизводит структуру представления.

Модель представленияСпособы обмена данными между контроллером и представлением:ViewData: ViewDataDictionaryViewData.ModelViwBag: dynamicМодель представления – это данные, структура которых воспроизводит

Слайд 4Пример модели представления
@using ArtMuseum.Models
@model LoginModel


@Model.UserName








public class LoginModel
{
public string UserName { get; set; }

public string Password { get; set; }

public bool RememberMe { get; set; }
}

В типизированном представлении тип модели объявляется директивой @model.
Сам объект модели доступен через свойство представления Model.

Пространство имен можно указать в директиве @using или в файле web.config в папке Views.

Модель представления для аутентификации пользователя.

Пример модели представления @using ArtMuseum.Models @model LoginModel… @Model.UserName

Слайд 5Макеты страниц

Два представления могут находиться в отношении макет – содержимое

(мастер-страница – содержимое).

Макеты страницДва представления могут находиться в отношении макет – содержимое (мастер-страница – содержимое).

Слайд 6Пример
Макет
Страница

ПримерМакетСтраница

Слайд 7Секции
В макете можно предусмотреть не одно, а несколько мест для

вставки содержимого. Эти места отмечаются кодом

@RenderSection(имя_секции, обязательность)
На странице вставляемое содержимое размещается в секциях.
@section имя_секции{ ………………. }
СекцииВ макете можно предусмотреть не одно, а несколько мест для вставки содержимого. Эти места отмечаются кодом

Слайд 8Неявное указание макета
@{
Layout = "~/Views/Shared/_AdminLayout.cshtml";
}
Содержание _ViewStart.cshtml:
Обычно несколько

представлений одного контроллера пользуются общим макетом. Его можно указать опосредованно

в файле _ViewStart.cshtml, который находится в корневом каталоге представлений.
Неявное указание макета@{  Layout =

Слайд 9Частичные представления
@Html.Partial("PicturePartial", new ArtMuseum.Models.Picture { Name = «Богатырская застава" })
Вызов

на странице:
Имя представления
Объект модели
Функционально частичное представление аналогично User Control.

По умолчанию

ч.п. создается в папке ~/Views/Shared.

Макет в ч.п. не указывается.
Частичные представления@Html.Partial(

Слайд 10Вспомогательные методы
1:  Html.TextBox("Name") // MVC

2.0
2:  Html.TextBoxFor(m => m.Name) // MVC 3.0

type="textbox" />

Вспомогательные методы (helpers – помощники) вызываются из шаблонов страниц и возвращают html-код.

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

Код помощников содержится в классе System.Web.Mvc.Html в форме статических методов.

Оба помощника возвращают одну и ту же строку:

Параметром помощника может быть строка (как в MVC 2.0)
или делегат (как в MVC 3.0).
Делегат позволяет выполнить ранний контроль типа.


Слайд 11Значения элементов управления
При синтезе страницы значения элементов управления черпаются из

двух источников:
коллекция ViewData.ModelState;
параметра метода-помощника.
В коллекцию ModelState собираются значения, введенные пользователем

в процессе работы с формой.

Параметр помощника задает первоначальное значение элемента управления.

@Html.TextBoxFor(model => model.Name)

Значения элементов управленияПри синтезе страницы значения элементов управления черпаются из двух источников:коллекция ViewData.ModelState;параметра метода-помощника.В коллекцию ModelState собираются

Слайд 12Атрибуты элемента управления
Любые дополнительные атрибуты элемента управления можно задать в

виде параметра помощника типа object.
@Html.TextBoxFor(model => model.Name, "--=={0}==--", new {

id = model.Id })

строка формата

дополнительные атрибуты

Атрибуты элемента управленияЛюбые дополнительные атрибуты элемента управления можно задать в виде параметра помощника типа object.@Html.TextBoxFor(model => model.Name,

Слайд 13Формы
@{Html.BeginForm("Search", "Home", FormMethod.Get, new { target = "_blank",

class="editForm", data_validatable=true } }


@{Html.EndForm();}

@using (Html.BeginForm("Search", "Home", FormMethod.Get, new { target = "_blank",
class="editForm", data_validatable=true }))
{


}






Есть два способа сгенерировать код формы. Во втором способе закрывающий тэг создается методом Dispose().

Формы@{Html.BeginForm(

Слайд 14Перегруженные помощники
public static class LabelExtensions
{
1 public static MvcHtmlString Label(this

HtmlHelper html, string expression);

2 public static MvcHtmlString

Label(this HtmlHelper html, string expression,
object htmlAttributes);

3 public static MvcHtmlString Label(this HtmlHelper html, string expression,
string labelText, object htmlAttributes);

4 public static MvcHtmlString LabelFor(this HtmlHelper html,
Expression> expression);
}

1:  Html.Label("Author") // MVC 2.0
4:  Html.LabelFor(m => m.Author) // MVC 3.0


Слайд 15Популярные помощники

Популярные помощники

Слайд 16Интегральные помощники
Edit

@using (Html.BeginForm("Edit", "Home"))
{
@Html.EditorForModel()

type="submit">Submit
}
В связи с автоматической генерацией шаблонов в MVC появились крупнопанельные

конструкции вроде EditorForModel() или DisplayForModel().

Они годны лишь для временного употребления, когда надо быстро получить прототип, например.

Интегральные помощникиEdit@using (Html.BeginForm(

Слайд 17Объявление собственных помощников
В качестве примера объявим помощник для генерации ссылки

с подтверждением.

Ссылка с подтверждением – это такая ссылка, что если

по ней кликнуть, в браузере появится диалоговое окно с двумя кнопками и сообщением message. Переход по url произойдет, если нажать кнопку OK. Параметр text - текст ссылки.

namespace HelpersMVC.Views.Shared
{
public static class MyHelpers
{
public static MvcHtmlString ConfirmingLink(
this HtmlHelper helper,
string url, string text, string prompt = "Really?")
{
text = HttpUtility.HtmlEncode(text);
string html = string.Format(
"{2}",
url, prompt, text);
return MvcHtmlString.Create(html);
}
}
}

Объявление собственных помощниковВ качестве примера объявим помощник для генерации ссылки с подтверждением.Ссылка с подтверждением – это такая

Слайд 18

Вызов помощника
@using HelpersMVC.Views.Shared

@Html.ConfirmingLink("https://www.google.com.ua/", "Go to Google?")
Пространство имен самодельного

помощника импортируем при помощи директивы @using

Импорт пространства имен для всех

шаблонов некоторой папки можно сделать в локальном файле web.config.



                        .       .            


Вызов помощника @using HelpersMVC.Views.Shared @Html.ConfirmingLink(

Слайд 19Помощники Razor
Генерировать html-код естественней и проще при помощи шаблонов Razor.

Для

этого каталоге App_Code разместим файл MyHelpers.cshtml
n
@using System.Web.Mvc.Html
@using System.Web.Mvc

@helper ConfirmingLink(string url,

string text, string message="Really?")
{
@text
}

Вызываются помощники Razor без указания пространства имен.

@MyHelpers.ConfirmingLink("https://www.google.com.ua/", "Go to Google?")

Помощники RazorГенерировать html-код естественней и проще при помощи шаблонов Razor.Для этого каталоге App_Code разместим файл MyHelpers.cshtmln@using System.Web.Mvc.Html@using

Слайд 20Самостоятельно
База данных содержит записи календаря и записи личной информации.

Запись календаря

содержит информацию о событии:
дата, время начала, время окончания, название, тип

события, список участников

Личная запись содержит имя, фамилию и дату рождения.

Создать страницы для поддержки CRUD-операций с календарем и личными записями.

СамостоятельноБаза данных содержит записи календаря и записи личной информации.Запись календаря содержит информацию о событии:дата, время начала, время

Обратная связь

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

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика