Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю
Запустите приложение и перейдите в браузере по ссылке
https://localhost:5001/Home/RazorSyntaxConfigure()StartupUseDeveloperExceptionPage()Development
Страница исключений для разработчиков предоставляет обширную информацию для отладки приложения, в числе которой низкоуровневые детали исключения, укомплектованные трассировкой стека. Теперь закомментируйте приведенную ниже строку в методе
Configure()if (env.IsDevelopment()){<b> // app.UseDeveloperExceptionPage();</b><b> app.UseExceptionHandler("/Home/Error");</b> ...}Снова запустив приложение и перейдя по ссылке
http://localhost:5001/Home/RazorSyntax
На заметку! Во всех примерах URL в этой главе применяется веб-сервер Kestrel и порт 5001. Если вы имеете дело с Visual Studio и веб-сервером IIS Express, тогда используйте URL из профиля для IIS в файле
launchsettings.jsonСтандартный обработчик ошибок выполняет перенаправление ошибок методу действия
ErrorHomeControllerConfigure()if (env.IsDevelopment()){<b> app.UseDeveloperExceptionPage();</b> ...}Дополнительные сведения о настройке обработки ошибок и доступных вариантах ищите в документации по ссылке
https://docs.microsoft.com/ru-ru/aspnet/core/fundamentals/error-handlingМеханизм визуализации и синтаксис Razor
Механизм визуализации Razor задумывался как усовершенствование механизма визуализации Web Forms и использует Razor в качестве основного языка. Razor — это код серверной стороны, который встраивается в представление, базируется на C# и избавляет от многих неудобств, присущих механизму визуализации Web Forms. Встраивание Razor в HTML и CSS приводит к тому, что код становится намного чище и лучше для восприятия, чем в случае, когда применяется синтаксис механизма визуализации Web Forms.
Первым делом добавьте новое представление, щелкнув правой кнопкой мыши на имени каталога
ViewsHomeAutoLot.MvcAutoLot.MvcAutoLot.MvcRazorSyntax.cshtmlНа заметку! Контекстное меню, открывшееся в результате щелчка правой кнопкой мыши на
ViewsHomeПредставления Razor, как правило, строго типизированы с использованием директивы
@modelmCar@model AutoLot.Models.Entities.CarПоместите в верхнюю часть страницы дескриптор <
hl<h1>Razor Syntax</h1>Блоки операторов Razor открываются с помощью символа
@foreach@for (var i = 0; i < 15; i++){ // Делать что-то.}@{ // Блок кода. var foo = "Foo"; var bar = "Bar"; var htmlString = "<ul><li>one</li><li>two</li></ul>";}Чтобы вывести значение переменной в представление, просто укажите символ
@Response.Write()@foo<br />@htmlString<br />@foo.@bar<br />В предыдущем примере две переменные комбинируются посредством точки между ними (
@foo.@bar@