Язык программирования 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]
@foo
test@foo
testFoo
Комментарии 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.cshtml
using
_ViewImports
using
AutoLot.Models.Entities