Учебники

ASP.NET WP — Просмотр двигателей

Механизм просмотра в ASP.NET используется для перевода наших представлений в HTML и их рендеринга в браузер. По умолчанию ASP.Net поддерживает ASPX и Razor View Engine . Шаблоны механизма представления имеют другой синтаксис, чем реализация. В этой главе мы обсудим два наиболее важных движка представления:

  • ASPX View Engine, также известный как Web Form View Engine и

  • Razor View Engine

ASPX View Engine, также известный как Web Form View Engine и

Razor View Engine

Есть еще много сторонних движков, таких как Spark, Nhaml и т. Д.

ASPX View Engine

ASPX или Web Form Engine — это механизм представления по умолчанию для ASP.NET, который включается в ASP.NET MVC с самого начала.

  • Синтаксис, используемый для написания представления с помощью ASPX View Engine, такой же, как и синтаксис, используемый в веб-формах ASP.NET.

  • Расширения файлов также такие же, как и для веб-форм ASP.NET (например, .aspx, .ascx, .master).

  • ASPX использует «<% =%>» или «<%:%>» для отображения содержимого на стороне сервера.

  • Пространство имен для Webform Engine — System.Web.Mvc.WebFormViewEngine .

  • ASPX View Engine не делает ничего, чтобы избежать атак межсайтового скриптинга по умолчанию.

  • ASPX View Engine сравнительно быстрее, чем Razor View Engine.

Синтаксис, используемый для написания представления с помощью ASPX View Engine, такой же, как и синтаксис, используемый в веб-формах ASP.NET.

Расширения файлов также такие же, как и для веб-форм ASP.NET (например, .aspx, .ascx, .master).

ASPX использует «<% =%>» или «<%:%>» для отображения содержимого на стороне сервера.

Пространство имен для Webform Engine — System.Web.Mvc.WebFormViewEngine .

ASPX View Engine не делает ничего, чтобы избежать атак межсайтового скриптинга по умолчанию.

ASPX View Engine сравнительно быстрее, чем Razor View Engine.

Razor View Engine

Razor Engine — это усовершенствованный механизм просмотра, который был представлен в MVC3 . Это не новый язык, но это новый синтаксис разметки.

  • Синтаксис Razor основан на языке программирования C #.

  • Синтаксис Razor также поддерживает язык Visual Basic, и все, что мы будем делать с использованием C #, вы можете делать все это и в Visual Basic.

  • Пространство имен для Razor Engine — System.Web.Razor .

  • Razor использует символ «@» вместо «<%%>», как это используется в ASPX View Engine.

  • Расширение файла Razor «cshtml» для языка C #.

  • По умолчанию Razor View Engine кодирует html-теги или сценарии перед их отображением, чтобы избежать атак на межсайтовый скриптинг.

  • Razor View Engine работает медленнее по сравнению с ASPX View Engine.

Синтаксис Razor основан на языке программирования C #.

Синтаксис Razor также поддерживает язык Visual Basic, и все, что мы будем делать с использованием C #, вы можете делать все это и в Visual Basic.

Пространство имен для Razor Engine — System.Web.Razor .

Razor использует символ «@» вместо «<%%>», как это используется в ASPX View Engine.

Расширение файла Razor «cshtml» для языка C #.

По умолчанию Razor View Engine кодирует html-теги или сценарии перед их отображением, чтобы избежать атак на межсайтовый скриптинг.

Razor View Engine работает медленнее по сравнению с ASPX View Engine.

Синтаксические различия

Чтобы понять разницу в синтаксисе, давайте посмотрим на простой пример, который написан в механизмах представления ASPX и Razor. Ниже приведен фрагмент кода для механизма просмотра ASPX.

<%foreach (var student in Students){ %>
   
   <% if (student.IsPassed){ %>
      <% = student.FirstName%> is going to next grade.
   <% } else{ %>
      <% = student. FirstName %> is not going to next grade.
   <% } %>

<% } %>

Ниже приведен пример кода, написанный на движке Razor View.

@foreach (var student in Students){
   @if(student.IsPassed){
      @student. FirstName is going to next grade.
   } else {
      @student. FirstName is not going to next grade.
   }
}

Если вы посмотрите на оба приведенных выше фрагмента кода, написанных в синтаксисе ASPX и Razor, то вы можете ясно увидеть, что синтаксис Razor более чистый и простой по сравнению с синтаксисом ASPX. Одним из недостатков Razor является то, что он не поддерживается визуальными редакторами, такими как Dream Viewer.