Слайд 2
![План View Razor Engine Layout Html Helpers Url Helpers Templates](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/145638/slide-1.jpg)
План
View
Razor Engine
Layout
Html Helpers
Url Helpers
Templates
Слайд 3
![View Представление отвечает за предоставление пользовательского интерфейса (UI) пользователю. После](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/145638/slide-2.jpg)
View
Представление отвечает за предоставление пользовательского интерфейса (UI) пользователю. После того, как
контроллер выполнил соответствующую логику для запрошенного URL, он делегирует отображение представлению.
Слайд 4
![](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/145638/slide-3.jpg)
Слайд 5
![](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/145638/slide-4.jpg)
Слайд 6
![](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/145638/slide-5.jpg)
Слайд 7
![ViewResult /Views/Имя_контроллера/Имя_представления.cshtml /Views/Shared/Имя_представления.cshtml](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/145638/slide-6.jpg)
ViewResult
/Views/Имя_контроллера/Имя_представления.cshtml
/Views/Shared/Имя_представления.cshtml
Слайд 8
![ViewResult View(): использует название вызывающего экшена. View(string viewName): переопределяет имя](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/145638/slide-7.jpg)
ViewResult
View():
использует название вызывающего экшена.
View(string viewName):
переопределяет имя представления.
View(object model):
передает
модель.
View(string viewName, object model):
переопределяет имя представления и передает в него модель.
Слайд 9
![](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/145638/slide-8.jpg)
Слайд 10
![](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/145638/slide-9.jpg)
Слайд 11
![View Html Razor syntax Html Helpers](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/145638/slide-10.jpg)
View
Html
Razor syntax
Html Helpers
Слайд 12
![Razor View Engine](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/145638/slide-11.jpg)
Слайд 13
![Razor View Engine Вывод текста в блоке кода](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/145638/slide-12.jpg)
Razor View Engine
Вывод текста в блоке кода
Слайд 14
![Razor View Engine Вывод текста в блоке кода](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/145638/slide-13.jpg)
Razor View Engine
Вывод текста в блоке кода
Слайд 15
![Razor View Engine функции](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/145638/slide-14.jpg)
Razor View Engine
функции
Слайд 16
![Razor View Engine @ для написания server side code. @{*](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/145638/slide-15.jpg)
Razor View Engine
@ для написания server side code.
@{* code * }
для написания блока server side code.
@: для отображения текста из блока кода.
для отображения текста из блока кода.
@if{ }
@for
@model позволяет использовать модель во всем view.
Слайд 17
![Передача данных в представление View Model ViewBag ViewData TempData TempData.Keep();](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/145638/slide-16.jpg)
Передача данных в представление
View Model
ViewBag
ViewData
TempData
TempData.Keep();
Слайд 18
![Передача данных в представление ViewBag, ViewData ViewData["CurrentTime"] = DateTime.Now; ViewBag.CurrentTime = DateTime.Now; ViewBag.CurrentTime эквивалент ViewData["CurrentTime"]](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/145638/slide-17.jpg)
Передача данных в представление
ViewBag, ViewData
ViewData["CurrentTime"] = DateTime.Now;
ViewBag.CurrentTime = DateTime.Now;
ViewBag.CurrentTime эквивалент ViewData["CurrentTime"]
Слайд 19
![Передача данных в представление ViewBag, ViewData @Html.TextBox("name", ViewBag.Name) will fail @Html.TextBox("name", ViewData["Name"]) или @Html.TextBox("name", (string)ViewBag.Name)](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/145638/slide-18.jpg)
Передача данных в представление
ViewBag, ViewData
@Html.TextBox("name", ViewBag.Name) will fail
@Html.TextBox("name", ViewData["Name"])
или
@Html.TextBox("name", (string)ViewBag.Name)
Слайд 20
![Передача данных в представление](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/145638/slide-19.jpg)
Передача данных в представление
Слайд 21
![Partial View @{Html.RenderPartial("Partial");} результат напрямую пишет вывод в выходной поток @Html.Partial("Partial") возвращает MvcHtmlString @{Html.RenderAction(“Menu")} @Html.Action("Menu")](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/145638/slide-20.jpg)
Partial View
@{Html.RenderPartial("Partial");}
результат напрямую пишет вывод в выходной поток
@Html.Partial("Partial")
возвращает MvcHtmlString
@{Html.RenderAction(“Menu")}
@Html.Action("Menu")
Слайд 22
![Demo](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/145638/slide-21.jpg)
Слайд 23
![Layout Мастер-страницы](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/145638/slide-22.jpg)
Слайд 24
![Layout Мастер-страницы _Layout.chtml RenderBody: exactly one RenderSection: zero or more _ViewStart.cshtml](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/145638/slide-23.jpg)
Layout
Мастер-страницы
_Layout.chtml
RenderBody: exactly one
RenderSection: zero or more
_ViewStart.cshtml
Слайд 25
![](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/145638/slide-24.jpg)
Слайд 26
![Layout Мастер-страницы](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/145638/slide-25.jpg)
Слайд 27
![Layout Мастер-страницы](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/145638/slide-26.jpg)
Слайд 28
![_ViewStart.cshtml выполнение перед каждой Full View](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/145638/slide-27.jpg)
_ViewStart.cshtml
выполнение перед каждой Full View
Слайд 29
![Static Data (Bundling and Minification) @Styles.Render("~/Content/css") @Scripts.Render("~/bundles/jquery")](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/145638/slide-28.jpg)
Static Data
(Bundling and Minification)
@Styles.Render("~/Content/css")
@Scripts.Render("~/bundles/jquery")
Слайд 30
![Demo](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/145638/slide-29.jpg)
Слайд 31
![Html Helpers](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/145638/slide-30.jpg)
Слайд 32
![](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/145638/slide-31.jpg)
Слайд 33
![Html Helpers Html.ActionLink](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/145638/slide-32.jpg)
Html Helpers
Html.ActionLink
Слайд 34
![Html Helpers Html.RouteLink](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/145638/slide-33.jpg)
Html Helpers
Html.RouteLink
Слайд 35
![Url Helpers Url.Action Url.RouteUrl Url.Content](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/145638/slide-34.jpg)
Url Helpers
Url.Action
Url.RouteUrl
Url.Content
Слайд 36
![](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/145638/slide-35.jpg)
Слайд 37
![Html Helpers](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/145638/slide-36.jpg)
Слайд 38
![Html Helpers](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/145638/slide-37.jpg)
Слайд 39
![](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/145638/slide-38.jpg)
Слайд 40
![Html.Editor](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/145638/slide-39.jpg)
Слайд 41
![Html.Editor](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/145638/slide-40.jpg)
Слайд 42
![Html.Editor](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/145638/slide-41.jpg)
Слайд 43
![](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/145638/slide-42.jpg)
Слайд 44
![](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/145638/slide-43.jpg)
Слайд 45
![Custom Html Helper in class](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/145638/slide-44.jpg)
Custom Html Helper
in class
Слайд 46
![Custom Html Helper in view](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/145638/slide-45.jpg)
Custom Html Helper
in view
Слайд 47
![Templates Editor Display](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/145638/slide-46.jpg)