Первые страницы на ASP.NET

Первые страницы на ASP.NET дают первоначальное знакомство с солидной технологией создания веб-приложений. Не усложняя первые шаги фреймворками WebForms, MVC, WebAPI создадим простые веб-страницы с внедренным программным кодом для двух обработчиков представлений - ASPX и Razor. Обработчики кода, называемые еще механизмами визуализации или движками, предназначены для динамического создания веб-страницы путем замены программного кода соответствующей html разметкой.

Движок ASPX - стандартная модель добавления кода на веб-страницу ASP.NET. ASPX использует блоки объявления типов, процедур и переменных <script> runat="server"></script> и встроенный блок отрисовки html разметки <% … %>. Модель добавления программного кода ASPX с некоторыми изменениями перешла в ASP.NET из первой платформы ASP.

Razor новый механизм визуализации программного кода в html странице. Razor это интеллектуальный движок динамического создания html разметки. Имеет понятный синтаксис и упрощает внедрение кода в веб-страницу. Для отличия программного кода от html кода использует символ @, в сочетании с фигурными скобками и без скобок.

Для создание первых веб-страниц будем использовать бесплатную программную среду для работы с веб-сайтами WebMatrix. На текущий момент создана 3-я версия этого, достаточного для создания профессиональных сайтов, инструмента программирования. Скачать ее можно с сайта компании Microsoft по ссылке WebMatrix. В состав программы WebMatrix входит все необходимое для создания и тестирования веб-сайтов на основе ASP.NET: редактор кода с подсветкой и IntelliSense, вебсервер IIS Express, система управления базами данных SQL LocalDB.

Сайт включает из три страницы: главная и две одинаковые страницы динамического создания таблиц на движках ASPX и Razor. Размерность таблицы можно задавать в строке запроса двумя параметрами. Надо сказать, что в принципе оба обработчика эффективно создают html разметку, но предоставляют разный комфорт работы.

Движок ASPX требует заключения всех частей и частичек программного кода в блоки вида <% … %>. Типы, процедуры и переменные можно объявлять в блоке <script> runat="server"> … </script>. Атрибут runat="server" отличает данный блок от блока javascript и обозначает обработку кода в этом блоке непосредственно на сервере.

Листинг №1 Вебстраница на движке ASPX
<!DOCTYPE html>
 
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title>
    <%
        Response.Write(namepage); 
        // Далее  конструкцию Response.Write("") будем заменять
        // альтернативным коротким кодом =выражение
    %>
    </title>
    <link rel="stylesheet" type="text/css" href="/css/style.css" />
</head>
<body>
    
    <% 
       //  короткая конструкция не допускает внутри блока какого-либо другого кода
    %>
    <h1><% =namepage %></h1> 
 
    <p><a href="/">На главную</a></p>
 
    <% =createLinks.GetLinks() %>
 
    <p>
        Количество стобцов - <% =numberColumns %><br />
        Количество строк - <% =numberRows  %>
    </p>
 
  
    <%  // В блоках внедренного кода ASPX недопускается html разметка,
        // только в качестве строк.%>
 
    <table>
        <tr>
        <%for (int i = 0; i < numberColumns; i++)
        {
            Response.Write( "<th>Заголовок №" + (i + 1) + "</th>");
        }%>
        </tr>
        <%for (int row = 0; row < numberRows; row++){%>
        <tr>
            <%for (int col = 0; col < numberColumns; col++){%>
             <td><% =((col + 1) + "x" + (row + 1)) %></td>
            <%}%>
        </tr>
        <%}%>
    </table>
 
</body>
</html>

Ниже показан код веб страницы для обработчика внедренного программного кода Razor. Обратите внимание на гармоничное слияние html кода и выражений на языке C#. Движок Razor позволяет использовать html теги непосредственно внутри программного кода: интеллектуальная составляющая обработчика ловко отделяет html разметку от программного кода C#.

Листинг №2 Вебстраница на движке Razor
<!DOCTYPE html>
 
<html lang="ru">
    <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
        <meta charset="utf-8" />
        <title>@namepage</title>
        <link rel="stylesheet" type="text/css" href="/css/style.css" />
    </head>
    <body>
 
 
        <h1>@namepage</h1>
 
        <p><a href="/">На главную</a></p>
 
        @Html.Raw(createLinks.GetLinks())
 
        <p>
            Количество стобцов - @numberColumns<br />
            Количество строк - @numberRows
        </p>
 
        <table>
            <tr>
            @for (int i = 0; i < numberColumns; i++)
            {
                <th>Заголовок № @(i + 1)</th>
            }
            </tr>
            @for (int row = 0; row < numberRows; row++)
            {
            <tr>   
            @for (int col = 0; col < numberColumns; col++)
            {
                <td>@(row+1)х@(col+1)</td>
            } 
            </tr>
            }
        </table>
        
    </body>
</html>

Протестировать работу сайта можно несколькими способами:

  1. MS Visual Studio - Файл->Открыть веб-сайт ->Выбрать папку в которую распакован архив Запуск в браузере (или клавиша F5)
  2. WebMatrix - Открыть->Папка->Выбрать папку в которую распакован архив сайта->Выбор папки Запуск
  3. Распаковать архив в физическую папку локального или интернет сайта. Запустите сайт в браузере по его URL адресу.

В заключении можно добавить, что для пользователя сайта, информация о том на каком движке работают веб-страницы не сильно важна. Но программист, поработав с каждым обработчиком внедренного кода, наверняка сделает выбор в пользу Razor.

Просмотр демостраницы »

Файл исходника Размер Количество загрузок
webpageaspnet-1.zip 798 КБайт 356

Книги по тематике

ASP.NET Core. Разработка приложений. Руководство Чамберс Джеймс, 2018 Современные разработчики занимаются построением кроссплатформенных приложений, их сопровождением... Узнать больше »
ASP.NET MVC 5 с примерами на C# 5.0. Для профессионалов Фримен Адам, 2015 Инфраструктура ASP.NET MVC 5 представляет собой последнюю версию веб-платформы ASP.NET от Microsoft.... Узнать больше »
Как написать безопасный код на С++, Java, Perl, PHP, ASP.NET Виега Дж., 2018 Эта книга необходима всем разработчикам программного обеспечения, независимо от платформы,... Узнать больше »
Основы ASP.NET 2.0 Гаряка А.А., 2014 В курсе рассматривается создание web-приложений, использующих ASP.NET 2.0. ASP.NET —это технология,... Узнать больше »
Яндекс цитирования Rambler's Top100 Яндекс.Метрика