Похожие презентации:
Разработка представлений
1.
Разработкапредставлений
МОДУЛЬ 6
2.
ПланView
Razor Engine
Layout
Html Helpers
Url Helpers
Templates
3.
ViewПредставление отвечает за предоставление
пользовательского интерфейса (UI) пользователю. После
того, как контроллер выполнил соответствующую логику
для запрошенного URL, он делегирует отображение
представлению.
4.
5.
6.
7.
ViewResult/Views/Имя_контроллера/Имя_представления.cshtml
/Views/Shared/Имя_представления.cshtml
8.
ViewResultView():
использует название вызывающего экшена.
View(string viewName):
переопределяет имя представления.
View(object model):
передает модель.
View(string viewName, object model):
переопределяет имя представления и передает в него модель.
9.
10.
11.
ViewHtml
Razor syntax
Html Helpers
12.
Razor View Engine13.
Razor View EngineВывод текста в блоке кода
14.
Razor View EngineВывод текста в блоке кода
15.
Razor View Engineфункции
16.
Razor View Engine@ для написания server side code.
@{* code * } для написания блока server side code.
@: для отображения текста из блока кода.
<text></<text> для отображения текста из блока кода.
@if{ }
@for
@model позволяет использовать модель во всем view.
17.
Передача данных в представлениеView Model
ViewBag
ViewData
TempData
TempData.Keep();
18.
Передача данных в представление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)
20.
Передача данных в представление21.
Partial View@{Html.RenderPartial("Partial");}
результат напрямую пишет вывод в выходной поток
@Html.Partial("Partial")
возвращает MvcHtmlString
@{Html.RenderAction(“Menu")}
@Html.Action("Menu")
22.
Demo23.
LayoutМастер-страницы
24.
LayoutМастер-страницы
_Layout.chtml
•RenderBody: exactly one
•RenderSection: zero or more
_ViewStart.cshtml
25.
26.
LayoutМастер-страницы
27.
LayoutМастер-страницы
28.
_ViewStart.cshtmlвыполнение перед каждой Full View
29.
Static Data(Bundling and Minification)
@Styles.Render("~/Content/css")
@Scripts.Render("~/bundles/jquery")
30.
Demo31.
Html Helpers32.
Html HelperStrongly Typed Html Helper Html Control
Html.ActionLink
<a>
Html.RouteLink
<a>
33.
Html HelpersHtml.ActionLink
34.
Html HelpersHtml.RouteLink
35.
Url HelpersUrl.Action
Url.RouteUrl
Url.Content
36.
Html HelperStrongly Typed Html Helper Html Control
Html.TextBox
Html.TextBoxFor
<input type="text">
Html.TextArea
Html.TextAreaFor
<textarea>
Html.CheckBox
Html.CheckBoxFor
<input type="checkbox">
Html.RadioButton
Html.RadioButtonFor
<input type="radio">
Html.DropDownList
Html.DropDownListFor
<select>
Html.Hidden
Html.HiddenFor
<input type="hidden">
Html.Password
Html.PasswordFor
<input type="password">
Html.Label
Html.LabelFor
<label>
37.
Html Helpers38.
Html Helpers39.
Html HelperStrongly Typed Html Helper Html Control
Html.Display
Html.DisplayFor
Html text
Html.DisplayText
Html.Editor
Html.DisplayTextFor
Html.EditorFor
Html text
Generates Html controls
based on data type of
specified model property
e.g. textbox for string
property, numeric field for
int, double or other numeric
type.
Html.DisplayForModel
Html.EditorForModel
40.
Html.EditorProperty DataType
string
Html Element
<input type="text" >
int
<input type="number" >
decimal, float
<input type="text" >
boolean
<input type="checkbox" >
Enum
<input type="text" >
DateTime
<input type="datetime" >
string
<input type="text" >
41.
Html.Editor42.
Html.Editor43.
Html HelperHtml.BeginForm
Strongly Typed Html Helper Html Control
<form>
44.
Html HelperHtml.ValidationMessage
Html.ValidationSummary
Strongly Typed Html Helper
Html.ValidationMessageFor
45.
Custom Html Helperin class
46.
Custom Html Helperin view
47.
TemplatesEditor
Display