Я начал изучать ASP.NET MVC3.
Итак, читая учебные пособия в Интернете и в книгах, я часто встречал этот термин "механизм просмотра". Я не знаю, что это.
Что это на самом деле?
Почему это имеет значение для меня вообще?
Я начал изучать ASP.NET MVC3.
Итак, читая учебные пособия в Интернете и в книгах, я часто встречал этот термин "механизм просмотра". Я не знаю, что это.
Что это на самом деле?
Почему это имеет значение для меня вообще?
Механизм представления отвечает за создание HTML из ваших представлений. Представления, как правило, представляют собой смешение HTML и языка программирования. Шаблон, лежащий в основе большинства из них, называется двухэтапный просмотр.
Например, ASP.NET поставляется с собственным механизмом просмотра из коробки. Это тот, где представления имеют множество тегов, таких как <% %>
и <%: %>
. Он использует расширение .aspx
.
С ASP.NET MVC3 был добавлен еще один готовый механизм просмотра, Razor, который имеет больше привлекательный синтаксис, например <div>@Model.UserName</div>
.
Выбор механизма просмотра важен, потому что набор функций движков просмотра совершенно другой. Например, поддержка поддержки файлов PDF; некоторые из них не могут использоваться вне веб-контекста (это верно для старого механизма просмотра ASP.NET), в то время как другие могут (например, Razor). "Оффлайн" рендеринг представлений пригодится, когда вы хотите создавать электронные письма HTML так же, как вы создаете свои представления, и эти письма должны быть отправлены от рабочего фона, а не из веб-приложения.
Здесь хорошее сравнение механизмов просмотра asp.net здесь на SO.
Хорошей новостью является то, что вы можете использовать несколько механизмов просмотра параллельно в ASP.NET MVC, хотя я бы не рекомендовал его, если это необходимо.
В движке Razor уже есть несколько замечательных точек расширения. Например, вы можете предоставить настраиваемый базовый класс представления, мощную концепцию, которая упрощает добавление большого количества функций в нужное место без необходимости связываться со всеми подробными деталями, с которыми вам придется справляться в противном случае.
В настоящее время я занимаюсь Razor.
Механизм просмотра - это то, что отвечает за рендеринг вашего представления и превращение вашего кода в славный HTML. Таким образом, они несут прямую ответственность за то, КАК вам нужно писать код в своих представлениях.
В основном в двух случаях вам нужно заботиться: ASPX и Razor. Razor, на мой взгляд, намного изящнее и проще в использовании, за счет поддержки только в MVC3.
Например, блок кода в ASPX может выглядеть так:
<% foreach(var item in Model) { %>
<tr>
<td><%: item.Name %></td>
</tr>
<% } %>
В то время как эквивалент Razor будет выглядеть так:
@foreach(var item in Model) {
<tr>
<td>@item.Name</td>
</tr>
}
Механизм просмотра - это то, что MVC использует для поиска и рендеринга представлений, запрашиваемых у контроллера. Если вас устраивает маршрутизация по умолчанию, вам, вероятно, не нужно ничего менять, но, допустим, вы хотели, чтобы ваши общие файлы, обычно расположенные в корневом каталоге /views/shared, вместо этого располагались в корневом/общем виде, пользовательский просмотр - это то, что вы будете необходимо создать, чтобы иметь возможность сделать это.
Здесь вы можете увидеть, как создать просмотр:
http://coderjournal.com/2009/05/creating-your-first-mvc-viewengine/
Механизм просмотра также отвечает за визуализацию представления, но поскольку вы просто изучаете MVC, вам, вероятно, не нужно будет еще больше изменять функциональность рендеринга
В MVC механизм просмотра - это тот, который работает между вашим представлением и браузером, чтобы обеспечить корректный вывод HTML в ваш браузер путем компиляции кода внутри вашего представления. Есть много доступных механизмов просмотра, и некоторые из них следуют:
ASPX
Бритва
Спарк
NHaml
NDJango
Hasic
Brail
Bellevue
Sharp Tiles
Шаблон строки
Wing Beats
SharpDOM
В настоящее время большинство разработчиков предпочитают использовать механизм просмотра Razor, поскольку он обеспечивает очень удобный способ программирования. Все эти механизмы просмотра могут не поддерживать ASP.NET MVC.
Более подробную информацию вы можете найти в этой статье.
View Engine работает внутри приложения для рендеринга HTML-страницы в браузере или для пользователя. Он может содержать теги HTML, серверные элементы управления и некоторый язык программирования.
Razor является предпочтительным механизмом просмотра для структуры MVC4.
В ASP.Net MVC механизм просмотра работает между вашим представлением и браузером, чтобы обеспечить корректный вывод HTML в ваш браузер, рассматривая вывод, предоставленный вашим представлением. Существует много типов механизмов просмотра.
1) ASPX
2) Бритва
3) Спарк
4) NHaml
5) NDJango
6) Hasic
7) Brail
Я прочитал описательный пост в http://questionbox.in/view-engine-asp-net-mvc-razor-view-engine-asp-net-mvc-web-form-aspx-view-engine-asp-net-mvc/
Механизм просмотра дает возможность отображать HTML из вашего представления в браузер.
Существует много механизмов просмотра, поддерживаемых ASP.NET MVC, но наиболее широко используемыми механизмами просмотра являются
Механизм просмотра формы веб-формы/механизм просмотра ASPX:
.aspx, для представлений, как и страницы веб-формы. .ascx, для Partial Views и Editor Template так же, как User Controls. .master, для Layout и Master Pages, так же как и Master Pages в Web Forms.
Механизм просмотра Razor:
Синтаксис бритвы прост для понимания и много чистого, чем веб-форма синтаксис. Razor использует символ @, чтобы сделать код следующим:
@Html.ActionLink( "Главная", "Индекс" )
View Engine отображает представление в HTML-форму браузера. Если мы говорим о приложении MVC в .NET Framework, он поддерживает следующие 2 механизма просмотра:
1. Razor View Engine 2. Веб-форма/ASPX View Engine
Различия: 1. Razor View Engine использует макеты, но механизм просмотра ASPX использует мастер-страницы.
2. Razor View Engine использует частичную страницу, но механизм просмотра ASPX использует Web User Control.
3. Механизм просмотра Razor не является языком, это синтаксис разметки.
4. @символ используется в Razor Engine для написания кода. @Html.ActionLink( "Вход", "LoginView" ) '<%: разделители используют в качестве начальной точки и'% > используют в качестве конечной точки. Вы можете написать код между ними в ASPX Engine.
5. Razor View Engine имеет расширение .cshtml(с расширением С#) и .vbhtml(с VB) для представлений, макетов и частичных представлений. ASPX View Engine имеет аналогичное расширение, например, в простом веб-приложении, таком как .aspx для представлений,.acsx для UserControls и .master для мастер-страниц.
До сих пор каждый ответ был связан с ASP.NET. Если вы ищете механизм просмотра для nodejs, то некоторые из следующих вариантов:
Jade (Pug)
express-handlebars
ejs
React
Там есть весь список из них, который я нашел в https://github.com/expressjs/express/wiki#template-engines, но, похоже, это те, которые я слышал о самых,