Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю
@foo.ToUpper()Если вы хотите вывести низкоуровневую HTML-разметку, тогда используйте так называемые вспомогательные функции HTML (HTML helper), которые встроены в механизм визуализации Razor. Следующая строка выводит низкоуровневую HTML-разметку:
@Html.Raw(htmlString)<hr />В блоках кода можно смешивать разметку и код. Строки, начинающиеся с разметки, интерпретируются как HTML, а остальные строки — как код. Если строка начинается с текста, который не является кодом, вы должны применять указатель содержимого (
@:(<text></text>@{ @:Straight Text <div>Value:@Model.Id</div> <text> Lines without HTML tag </text> <br />}При желании отменить символ
@@@@ [email protected]<br />@@foo<br />test@foo<br/>test@(foo)<br />Предыдущий код выводит
[email protected]@footest@footestFooКомментарии Razor открываются с помощью
@**@@* Multiline Comments Hi.*@В Razor также поддерживаются внутристрочные функции. Например, следующая функция сортирует список строк:
@functions { public static IList<string> SortList(IList<string> strings) { var list = from s in strings orderby s select s; return list.ToList(); }}Приведенный далее код создает список строк, сортирует их с применением функции
SortList()@{ var myList = new List<string> {"C", "A", "Z", "F"}; var sortedList = SortList(myList);}@foreach (string s in sortedList){ @s@: }<hr/>Вот еще один пример, где создается делегат, который можно использовать, чтобы установить для строки полужирное начертание:
@{ Func<dynamic, object> b = @<strong>@item</strong>;}This will be bold: @b("Foo")Кроме того, Razor содержит вспомогательные методы HTML, которые предоставляются инфраструктурой ASP.NET Core, например,
DisplayForModel()EditorForModel()Наконец, в версии ASP.NET Core появились вспомогательные функции дескрипторов (tag helper), которые объединяют разметку и код; они будут обсуждаться далее в главе.
Представления
Представления — это специальные файлы кода с расширением
cshtmlКаталог Views
Внутри каталога Views хранятся представления в проектах ASP.NET Core, использующих паттерн MVC. В самом каталоге Views находятся два файла:
_iewStart.cshtml_ViewImports.cshtmlКод в файле
_ViewStart.cshtml_ViewStart.cshtml_ViewStart.cshtml@{ Layout = "_Layout";}Файл
_ViewImports.cshtmlusing_ViewImportsusingAutoLot.Models.Entities