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; просмотров: 150;