Какие проблемы существуют при визуализации ответа на запрос? Как приводится в движение механизм визуализации представления?



ASP.NET MVC 5-де барлық маршрут анықтамалары App_Start қалтасында жобада орналасқан RouteConfig.cs файлында орналасқан. Егер біз оған қарасақ, әдепкі жол параметрлерін көреміз:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.Mvc;

using System.Web.Routing;

Namespace Mvc5RoutesApp

{

Public class RouteConfig

{

Public static void RegisterRoutes(RouteCollection routes)

{

routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

Routes.MapRoute(

name: "Default",

url: "{controller}/{action}/{id}",

defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }

);

}

}

}

Бірінші жол маршруттары.IgnoreRoute («{resource} .axd / {* pathInfo}»); мысалы, * .axd (WebResource.axd) кеңейтімімен кейбір файлдарға сұрауларды өңдеуді ажыратады.routes. MapRoute әдісі сұрауды маршруттайды. Бұл әдісдің шамадан тыс нұсқаларында біз қосымша сәйкес параметрлерді көрсете аламыз. Әдістің параметрлерін талдайық. Біріншіден, атау сипатына бағдар атауы- Default аты орнатылады. Екінші параметр - url сұрау жолының үлгісін немесе Url үлгісін көрсетеді. URL үлгісінде бұйра жақтауларға салынған бірнеше сегменттер бар. Бұл жағдайда, сегмент слайдтар арасында орналасқан сұрау бөлігі болып табылады. Үлгідегі әрбір осындай сегмент параметрді қамтиды. Бұл параметрлер URL параметрлері деп аталады. Бұл жағдайда контроллер, әрекеттер және id параметрлері болып табылады. Сұрау алынған кезде, бағыттаушы қозғалтқыш URL жолын бөледі және бағдар мәндерін сөздікте - RequestContext қосымшасының мәтінмәні арқылы қол жетімді RouteValueDictionary нысанында қояды. URL параметрлерінің атаулары кілттер ретінде пайдаланылады және сәйкес URL сегменттері мәндер ретінде әрекет етеді. Мысалы, http: // localhost / Home / Index / 5 URL-мекен-жайына келесі сұраным бар: бұл жағдайда RouteValueDictionary ішінде келесі
Параметр Значение
controller Home
action Index
id 5

Әдістің 3-ші параметрі routes.MapRoute-defaults маршруттың әдепкі мәндерін анықтайды. Мысалы, сұрау жолында барлық параметрлерді көрсетпесеңіз және сұраудың өзі, мысалы, http: // localhost / өтетін болса, маршруттау жүйесі әдепкі параметрде көрсетілгендей Home контроллерінің Индекс әдісін шақырады. Сондай-ақ, контроллер әдісін көрсетпесеңіз, мысалы, http: // localhost / Home /,сондай-ақ Home контроллерінің Index әдісі де шақырылады.

мысалы, біз үшін, әдепкі бойынша, клиент HomeController контроллерінің Index әдісіне сілтеме жасамайды, бірақ, мысалы, BookController's Show әдісі үшін, біз осы параметрдің мәндерін тиісінше өзгерте аламыз:

defaults: new { controller = "Book", action = "Show", id = UrlParameter.Optional }

Соңғы параметр опциондық id = UrlParameter.Optional ретінде жарияланады, сондықтан егер ол сұрау жолында көрсетілмесе, ол RouteValueDictionary параметрлік сөздікке қаралмайды және жіберілмейді.

3.27Какой интерфейс движка механизма визуализации представления MVC Framework используется в механизме Razor?
ASP.NETMVC всегда поддерживал концепцию “движка представлений”, собственно он представляет из себя заменяемые модули, которые реализуют выбор различного синтаксиса шаблона. Сегодня, стандартный движок представлений для ASP.NETMVC использует аналогичные файлы, что и ASP.NETWebForms — .aspx/.ascx/.master. Существуют и другие популярные ASP.NETMVC движки представлений — Spark и NHaml.

Новый движок представлений, над которым мы работаем, оптимизирован под генерацию HTML-кода, фокусируясь на коде шаблона. Кодовое имя для данного движка – “Razor”, первая бета-версия будет доступна уже скоро.
Цели разработки

Во время того, как мы разрабатывали прототип и оценивали Razor, мы выделили несколько основных целей:

· Компактный, Выразительный и Гибкий: Razor уменьшает “нагрузку на клавиатуру”, требуемую для работы в файле, предоставляет быстрый и гибкий процесс программирования. В отличии от большинства синтаксиса шаблонов, вам не нужно прерывать написание кода, чтобы явно определить серверные блоки кода в HTML. Парсер достаточно умен, для того чтобы сделать это за вас, основываясь на коде. Вы получаете компактный и выразительный синтаксис, который легко и весело набирать.

· Легко освоить: Razor прост в освоении и позволяет вам за короткий срок стать более продуктивным с минимальным количеством усилий. Вы используете все существующие навыки языка программирования и HTML.

· Не новый язык: Мы сознательно выбрали путь, который не основывается на новом императивном языке для Razor. Вместо этого, мы позволили разработчикам использовать уже существующие навыки работы с C#/VB(или другим языком) и предоставили синтаксис разметки шаблона, который дает вам потрясающий процесс построения HTML, оставляя выбор языка за вами.

· Работает в любом текстовом редакторе: Razor не требует определенного инструмента и позволяет вам быть продуктивным в любом старом текстовом редакторе (даже в блокноте прекрасно работает)

· Поддержка Intellisense: Не смотря на то, что Razor разрабатывался с учетом отсутствия привязки к определенному инструменту или редактору кода, у него будет отличная поддержка в VisualStudio. Visual Studio 2010 и Visual Web Developer 2010 скоро получат обновления для intellisense.

· Юнит-тестирование: Новая реализация движка будет поддерживать возможность производить юнит-тесты над представлениями (не требуя контроллера или веб-сервера, можно размещать в любом проекте юнит-тестирования –отсутствует нужда в специальных доменах приложений)

Мы потратили последние несколько месяцев разрабатывая приложения, используя данную технологию, провели юзабилити исследования с различными добровольцами, включая группы не .NET разработчиков. Отзывы от людей были превосходными.
Выбор и Гибкость


Самой прекрасной возможностью у ASP.NET, является замена буквально любой части кода. Если определенный механизм не удовлетворяет вашим потребностям, вы можете легко заменить его на свою реализацию.

Со следующей версией у ASP.NETMVC появится новое диалоговое окно “Add->View”, которое позволит вам выбрать синтаксис для нового файла шаблона представления. Оно позволит вам легко выбирать любой доступный движок представления, установленный на локальной машине:

 


Дата добавления: 2018-02-15; просмотров: 231; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!