LoveRead.info » Книги » Разная литература » Язык программирования C#9 и платформа .NET5 - Эндрю Троелсен

Язык программирования C#9 и платформа .NET5 - Эндрю Троелсен

Книгу Язык программирования C#9 и платформа .NET5 - Эндрю Троелсен читаем онлайн бесплатно полную версию! Чтобы начать читать не надо регистрации. Напомним, что читать онлайн вы можете не только на компьютере, но и на андроид (Android), iPhone и iPad. Приятного чтения!

177 0 18:04, 26-08-2023
Язык программирования C#9 и платформа .NET5 - Эндрю Троелсен
26 август 2023

Книга Язык программирования C#9 и платформа .NET5 - Эндрю Троелсен читать онлайн бесплатно без регистрации

В 10-м издании книги описаны новейшие возможности языка C# 9 и .NET 5 вместе с подробным "закулисным" обсуждением, призванным расширить навыки критического мышления разработчиков, когда речь идет об их ремесле. Книга охватывает ASP.NET Core, Entity Framework Core и многое другое наряду с последними обновлениями унифицированной платформы .NET, начиная с улучшений показателей производительности настольных приложений Windows в .NET 5 и обновления инструментария XAML и заканчивая расширенным рассмотрением файлов данных и способов обработки данных. Все примеры кода были переписаны с учетом возможностей последнего выпуска C# 9.

    1 ... 387 388 389 390 391 392 393 394 395 ... 407
    Перейти на страницу:
    Web Forms. Встраивание Razor в HTML и CSS приводит к тому, что код становится намного чище и лучше для восприятия, чем в случае, когда применяется синтаксис механизма визуализации Web Forms.

    Первым делом добавьте новое представление, щелкнув правой кнопкой мыши на имени каталога ViewsHome в проекте AutoLot.Mvc и выбрав в контекстном меню пункт AddNew Item (Добавить►Новый элемент). В открывшемся диалоговом окне Add New Item — AutoLot.Mvc (Добавить новый элемент — AutoLot.Mvc) выберите шаблон Razor View — Empty (Представление Razor — Пустое) и назначьте представлению имя RazorSyntax.cshtml.

    На заметку! Контекстное меню, открывшееся в результате щелчка правой кнопкой мыши на ViewsHome, содержит также пункт AddView (Добавить►Представление). Тем не менее, его выбор приводит к переходу в то же самое диалоговое окно Add New Item.

    Представления Razor, как правило, строго типизированы с использованием директивы @model (обратите внимание на букву m в нижнем регистре). Измените тип нового представления на сущность Car, добавив в начало файла представления такой код:

    @model AutoLot.Models.Entities.Car

    Поместите в верхнюю часть страницы дескриптор <hl>. Он не имеет ничего общего с Razor, а просто добавляет заголовок к странице:

    <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). Это не обычная "точечная" запись в языке С#, предназначенная для навигации по цепочке свойств. Здесь просто значения двух переменных выводятся в поток ответа с физической точкой между ними. Если вас интересует "точечная" запись в отношении переменной, тогда примените @ к переменной и записывайте свой код стандартным образом:

    @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 />

    }

    При желании отменить символ @ используйте удвоенный @. Кроме того, механизм Razor достаточно интеллектуален, чтобы обрабатывать адреса электронной почты, поэтому отменять символ @ в них не нужно. Если необходимо заставить Razor трактовать символ @ подобно маркеру Razor, тогда добавьте круглые скобки:

    [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@:&nbsp;

    }

    <hr/>

    Вот еще один пример, где создается делегат, который можно использовать, чтобы установить для строки полужирное начертание:

    @{

        Func<dynamic, object> b = @<strong>@item</strong>;

    }

    This will be bold: @b("Foo")

    Кроме того, Razor содержит вспомогательные методы HTML, которые предоставляются инфраструктурой ASP.NET Core, например, DisplayForModel() и EditorForModel(). Первый применяет рефлексию к модели представления для отображения на веб-странице. Второй тоже использует рефлексию, чтобы создать HTML-разметку для формы редактирования (имейте в виду, что он не поставляет дескрипторы Form, а только разметку для модели). Вспомогательные методы HTML подробно рассматриваются позже в главе.

    Наконец, в версии ASP.NET Core появились вспомогательные функции дескрипторов (tag helper), которые объединяют разметку и код; они будут обсуждаться далее в главе.

    Представления

    Представления — это специальные файлы кода с расширением cshtml, содержащие сочетание разметки HTML, стилей CSS, кода JavaScript и кода Razor.

    Каталог 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:

    @using AutoLot.Mvc

    @using AutoLot.Mvc.Models

    @using AutoLot.Models.Entities

    @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers

    Строка @addTegHelper будет раскрыта вместе со вспомогательными функциями дескрипторов.

    На заметку! А для

    1 ... 387 388 389 390 391 392 393 394 395 ... 407
    Перейти на страницу:
    1. Жалоба
    Отзывы - 0

    Прочитали книгу? Предлагаем вам поделится своим отзывом от прочитанного(прослушанного)! Ваш отзыв будет полезен читателям, которые еще только собираются познакомиться с произведением.


    Уважаемые читатели, слушатели и просто посетители нашей библиотеки! Просим Вас придерживаться определенных правил при комментировании литературных произведений.

    • 1. Просьба отказаться от дискриминационных высказываний. Мы защищаем право наших читателей свободно выражать свою точку зрения. Вместе с тем мы не терпим агрессии. На сайте запрещено оставлять комментарий, который содержит унизительные высказывания или призывы к насилию по отношению к отдельным лицам или группам людей на основании их расы, этнического происхождения, вероисповедания, недееспособности, пола, возраста, статуса ветерана, касты или сексуальной ориентации.
    • 2. Просьба отказаться от оскорблений, угроз и запугиваний.
    • 3. Просьба отказаться от нецензурной лексики.
    • 4. Просьба вести себя максимально корректно как по отношению к авторам, так и по отношению к другим читателям и их комментариям.

    Надеемся на Ваше понимание и благоразумие. С уважением, администратор LoveRead.info.


    Установить VPN и читай слушай бесплатно

    Новые отзывы

    1. Лариса Лариса04 июнь 12:43 Да, просто до слез похоже на сериал ,,Даррел,,... Смерть в райском уголке - Эмили Салливан
    2. Stmara Stmara02 июнь 22:44 Приятная история, чтобы скоротать вечер. Любимая книга из последних "Любовь со смертью", также очень понравилась -"Суженная... Сердце космического дракона - Ольга Вадимовна Гусейнова
    3. Alex Alex01 июнь 17:12 💩💩💩🖕🖕🖕🖕🖕🖕🖕... Игровой момент II - Александр Андреевич Бодров
    Все комметарии
    Новинки бесплатной онлайн библиотеки