Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Синтаксис






Для дослідження подальших особливостей створимо простий проект веб-застосунку у WebMatrix. Razor дозволяє нам почати зі статичного HTML (або будь-якого текстового вмісту), далі роблячи його динамічним, додаючи серверний код.

У нашому прикладі традиційно використаємо виведення повідомлення " Hello, world":

Якщо ми збираємося побудувати, представлений вище " hello world" приклад, використовуючи ASP.NET та існуючу розмітку синтаксису. ASPX, нам буде потрібно використовувати < % =%> блоки, для визначення областей коду всередині HTML-розмітки:

< %@ Page Language=" C#" AutoEventWireup=" true" CodeBehind=" WebForm1.aspx.cs" Inherits=" Web1.Test.WebForm1" %>

 

<! DOCTYPE html PUBLIC " -//W3C//DTD XHTML 1.0 Transitional//EN" " https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >

 

< html xmlns=" https://www.w3.org/1999/xhtml" >

< head runat=" server" >

< title> < /title>

< /head>

< body>

< h1> Hello, world! < /h1>

< p> Моє ім'я є < %=studentname %> < /p>

< p> Зараз закінчується < %=DateTime.Now.Year %> рік < /p>

< /body>

< /html>

 

 

Хотілося б звернути увагу, що кожна область коду, вимагає 5 символів (< %= %>) для початку і кінця послідовності коду.

Це саме у Razor синтаксисі виглядає так:

Зверніть увагу на початок області коду в Razor, де використовується символ @. На відміну від < %%>, Razor не вимагає від вас явно закривати область коду:

 

Парсер Razor вміє семантично аналізувати C # / VB в областях коду, ось чому нам не потрібно явно закривати блок коду вище. Razor може визначити вище зазначені твердження, як самостійні області коду і неявно закрити їх для нас.

Навіть у такому тривіальному " hello world" прикладі ми вберегли себе від 12 зайвих натисків клавіш, які нам довелося б робити раніше. Набрати символ @ на клавіатурі набагато простіше, ніж символ%.

Цикли і вкладений HTML

Давайте розглянемо інший випадок, коли вам потрібно вивести список продуктів (і ціну навпроти кожного):

Створюємо приклад с. ASPX

Якщо ми збираємося реалізувати приклад, використовуючи ASP.NET та існуючу розмітку синтаксису. ASPX, нам буде потрібно код, який буде динамічно генерувати < ul> список з елементами < li> для кожного продукту:

Створюємо приклад з Razor

Нижче я покажу, як згенерувати еквівалентну подання, використовуючи Razor:

Зверніть увагу, як ми почали цикл foreach, використовуючи символ @, а далі розмістили рядок HTML вмісту з блоками коду всередині. Так як парсер Razor розуміє семантику C # в наших блоках, він може визначити, що вміст < li> повинно бути всередині foreach і розглядає його, як вміст, який має бути зациклене. Він також розпізнає, закриває } і зупиняє foreach.

Razor так само досить розумний, щоб розпізнати @p.Name і@p.Price виразвсередині елемента < li>, як серверний код і виконати його для кожного проходу циклу. Зверніть увагу, Razor автоматично закриває області коду @p.Name і @p.Price ґрунтуючись на спільному використанні HTML і коду.

Можливість писати код таким чином, не вимагаючи додавати безліч відкриваючих та закриваючих міток по всьому шаблоном робить весь процес розробки реально швидким.


Блоки if і багаторядкові вирази

Нижче представлено кілька прикладів розповсюджених ситуацій:






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.