
- •Модель приложения
- •Цель
- •Траектория запроса
- •Подпи
- •Состав приложения
- •Модель: классы ChatItem и
- •Модель представления
- •Контроллер
- •Типизированное
- •Шаблон представления
- •Проверка ввода
- •интерфейс IValidatableObject
- •контроллере
- •Bundling & Minification
- •Программный код в шаблонах представления
- •Движок Razor
- •Границы разметки и кода
- •Сложные выражения
- •Многострочные
- •Блоки @if и @foreach
- •Интеграция содержимого и кода
- •Обертывание в тэги
- •Кодирование HTML
- •Самостоятельно

Интеграция содержимого и кода
Этот код, выведет следующий HTML:
Email-адрес выведется, как статическое содержимое, а @DateTime.Now определится, как код
Чтобы показать символ '@', пишут @@, но это нужно не всегда.
21

Обертывание в тэги
Вывод:
22

Кодирование HTML
По умолчанию содержимое, выводимое в блоках @, автоматически кодировано в HTML.
Кодирование необходимо для защиты против XSS-атак (англ. Сross Site Sсriрting — «межсайтовый скриптинг»).
Если нужен не испорченный HTML, применяйте HtmlString
@(@( "<h1>привет</h1>""<h1>привет</h1>" ++ "с"с Марса"Марса"))
@(@( newnew HtmlStringHtmlString("<h1>привет</h1>"("<h1>привет</h1>" ++ "с"с Марса"Марса")) ))
23
Самостоятельно
Запрограммировать игру в города – когда следующий город начинается на последнюю букву предыдущего.
Некорректные города не принимаются. Корректным считается город, который:
-не пустой,
-начинается на последнюю букву (кроме "ь", тогда – на предпоследнюю)
-ранее не играл.
Первый город может быть любым.
Все уже названные города должны быть показаны на странице в виде маркированного списка <ul>.
24