ViewEngineResult FindPartialView(ControllerContext ControllerContext,
string partialViewName, bool useCache);
ViewEngineResult FindView(ControllerContext ControllerContext,
string viewName, string masterName, bool useCache);
voidReleaseView(ControllerContext ControllerContext, IView view);
}
}
Визуализация механизмінің рөлі ViewEngineResult объектісіне көру сұрауларын аудару болып табылады. Интерфейстегі алғашқы екі әдіс - FindPartialView () және FindView () - сұрауды және контроллерді (ControllerContext объектісі) сипаттайтын параметрлерді, көрініс атауы мен орналасуын және визуализациялау механизмі алдыңғы нәтижені кэштен . Бұл әдістер ViewResult өңдеу кезінде шақырылады. Соңғы әдіс, ReleaseView (), визуализация қажет болмаған кезде шақырылады.
В чем смысл использования движка Razor? Приведите пример его использования.
Представление в ASP.NETMVC может содержать не только стандартный код html, но и также вставки кода на языке C#. Для обработки кода, содержащего как элементы html, так и конструкции C#, используется движок представлений.В действительности при вызове метода View контроллер не производит рендеринг представления и не генерирует разметку html. Контроллер только готовит данные и выбирает, какое представление надо возвратить в качестве объекта ViewResult. Затем уже объект ViewResult обращается к движку представления для рендеринга представления в выходной ответ.По умолчанию в ASP.NETMVCCore используется один движок представлений - Razor. Хотя при желании мы можем также использовать какие-то другие сторонние движки или создать свой движок представлений самостоятельно.
|
|
Цель движка представлений Razor - определить переход от разметки html к коду C#.Синтаксис Razor довольно прост - все его конструкции предваряются символом @, после которого происходит перед к коду C#.Все конструкции Razor можно условно разделить на два виде: однострочные выражения и блоки кода.Пример применения однострочных выражений:
1 | <p>Дата: @DateTime.Now.ToLongDateString()</p> |
В данном случае используется объект DateTime и его метод ToLongDateString()Или еще один пример:
1 | <p>@(20 + 30)</p> |
Так как перед скобками стоит знак @, то выражение в скобках будет интерпретироваться как выражение на языке C#. Поэтому браузер выведет число 50, а не "20 + 30".Но если вдруг мы создаем код html, в котором присутствует символ @ не как часть синтаксиса Razor, а сам по себе, то, чтобы его отобразить, нам надо его дублировать:
1 | <p>@@DateTime.Now =@DateTime.Now.ToLongDateString()</p> |
Как используются поисковые свойства движка Razor? Приведите хотя бы один пример его использования.
1. Razor амалы қалай қолданылады
Razor өрнегі көмегімен жасалатындардың ең қарамайымы- белгіге мәліметтердің мағынасын қою. Бұл @Model өрнегін қолдану арқылы іске асырылады, ол көрініс моделінің объектінде анықталған қасиеттер мен әдістерге немесе ViewBag объектісінің көмегімен динамикалық түрде анықталған қасиеттерге @ViewBag -өрнегі арқылысілтеме жасайтын болады.
|
|
Толық болу үшін Home-ға ViewBag обьектісі және модель обьектісімен қолданатын мәліметтерді ұсынысқа жіберетін DemoExpressions деп аталатын іс әрекеттің жаңа әдісін қосамыз.
Using System.Web.Mvc;
Using Razor.Models;
Namespace Razor.Controllers{
public class HomeController: Controller{
public ActionResult DemoExpression() {
ViewBag.ProductCount=1;
ViewBag.ExpressShip=true;
ViewBag.ApplyDiscount=false;
ViewBag.Supplier=null;
return View(myProduct);
}
}
Бұл базалық типтердің өрнегін көрсету views/home папкасында орналасқан DemoExpressions.cshtml деп аталатын қатаң типті файлдағы ұсыныс құрылған.
@model Razor.Models.Product
@{
ViewBag.Title=”DemoExpression”;
Layout=”~/Views/_BasicLayout.cshtml”;
}
<table>
<thead>
<tr><th>Свойство</th><th>Значение</th></tr>
</thead>
<tbody>
<tr><td>Название</td><td>@ModelName </td></tr><tr><td>Цена</td><td>@Model.Price</td></tr>
<tr>
<td>В наличий</td>
<td> ViewBag.ProductCount</td>
</tr>
</tbody>
</table>
Как добавить динамическое содержание в контента с помощью механизма представления Razor. Приведите пример.
|
|
Ұсыныстың негізгі мақсаты- компонентті домендік модель ретінде және қолданушы ретінде визуализациялау. Сондықтан динамикалық ұсынысты қосуды білу қажет . Динамикалық контент әр түрлі уақытта жасалады және түрлі сұранымдарға ие болуы мүмкін . Бұл оның статикалық контентінен ерекшелігі. Динамикалық контент бірнеше түрде қосуға болады:
Код- кішігірім,тәуелсіз логикалық бөліктерді жасау үшін қолданылады, мысалы, оператор if немесе foreach. Бұл динамикалық контентін құруға негізделген және басқа да қадамдар қарастырылған.
HTML қосалқы әдістері - HTML элементінің бір элементін,элемент коллекциясына, деректер базасына ұсыну немесе ViewData ретінде көрсетіледі. MVC Framework –құрылған қосалқы әдіске,және жеке түрде жасап қолдануға болады.
Секция – контентті блоктарға бөлу арқылы, белгілі бір орындарда макеттпен сақталады.
Жартылай ұсыныс- әртүрлі сценарийлерді қосудың бірнеше бөлігі. Жартылай ұсыныс- кодтау, HTML қосалқы әдістерді және сілтемелер-мен бейімделеді.Іс-әрекет әдісін шақыраалмағандықтан,оларды бизнес-логикаға пайдалануға болмайды.
|
|
Шынайы әрекет(дочернее действия)- UI басқарудағы қайталау элементі және виджеттерде қолданылатын, бизнес-логикаға қажетті әрекет. Бұл әрекет әдісін іске асырады, ұсынысты визуализацияландырады және нәтижесін енгізеді.
Мысалы шынайы әрекетт,1)Home контроллерге шынайы әрекетті қосамыз.18-27 листингusing System.Web.Mvc;using System;
Дата добавления: 2018-02-15; просмотров: 293; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!