Содержание
ASP.NET — это часть технологии .NET, которая используется для разработки мощных клиент-серверных интернет-приложений. Она позволяет создавать динамические HTML-страницы. ASP.NET является результатом объединения старой технологии ASP (Active Server Pages) и платформы .NET Framework.
В ASP.NET содержится множество готовых элементов управления, которые можно использовать для быстрого создания интерактивных веб-сайтов. Также можно использовать сервисы, предоставляемые другими сайтами.
Ранее технология ASP.NET делилась на две области: Web Forms и Model-View-Controller (MVC). Теперь разработчики Microsoft устранили дублирующийся функционал, оставив единую модель программирования ASP.NET Core MVC.
Парадигма создания приложений MVC включает три компонента: Model (Модель), View (Представление) и Controller (Контроллер).
Рассмотрим их подробнее:
- Model — компонент приложения, отвечающий за взаимодействие с источником данных (база данных, файловая система).
- View — компонент, отвечающий за отображение пользовательского интерфейса.
- Controller — компонент, описывающий логику приложения, то есть обработку HTTP-запросов к веб-приложению. Контроллер взаимодействует с объектами модели, которые влияют на представление.
Жизненный цикл страницы в ASP.NET
В рамках данной статьи рассмотрим последовательность этапов обработки страницы:
1. Запрос страницы. Когда запрашивается страница, сервер проверяет, загружается ли она впервые. Если да, страница создается, обрабатывается и отправляется пользователю. Если страница уже запрашивалась, проверяется кэш. Если страница есть в кэше, сохраненный ответ отправляется пользователю.
2. Инициализация страницы. На этом этапе создаются объекты `Request` и `Response`. Объект `Request` хранит информацию, отправленную при запросе страницы. Объект `Response` хранит данные, отправляемые пользователю.
3. Инициализация контролов. Все элементы управления на веб-странице инициализируются.
4. Загрузка страницы. Страница загружается с настройками по умолчанию.
5. Валидация. В некоторых случаях для определенных форм можно задать условия проверки. Например, может потребоваться подтверждение, что элемент списка содержит определенный набор значений. Если условие не выполняется, при загрузке страницы отображается ошибка.
6. Обработка повторных событий. Если страница загружается повторно, это происходит в ответ на предыдущее событие. Например, если пользователь нажимает кнопку отправки на странице, та же страница отображается снова, и вызывается обработчик повторного события.
7. Отрисовка страницы. Перед отправкой ответа пользователю вся информация о форме сохраняется, и результат отправляется в виде завершенной веб-страницы.
8. Выгрузка. После отправки страницы пользователю объекты веб-формы больше не нужно хранить в памяти. Процесс выгрузки удаляет все ненужные объекты из памяти.
Внутренняя структура проекта
После создания проект уже содержит три страницы по умолчанию: Default, About и Contact.
Каждая страница состоит из трех файлов:
- `Page.aspx` – содержит HTML-разметку конкретной страницы.
- `Page.aspx.cs` – отвечает за логику страницы.
- `Page.aspx.designer.cs` – мост между `Page.aspx` и `Page.aspx.cs`.
Код файла About.aspx:
<%@ Page Title="About" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true"
CodeBehind="About.aspx.cs" Inherits="TutWebApplication.About" %>
<asp:Content ID="BodyContent" ContentPlaceHolderID="MainContent" runat="server">
<h2><%: Title %>.</h2>
<h3>Your application description page.</h3>
<p>Use this area to provide additional information.</p>
</asp:Content>
About.aspx содержит только фрагмент готовой страницы. Основная часть находится в файле Site.Master или Site.Mobile.Master.
Запуск проекта ASP.NET
Чтобы протестировать и запустить проект, нажмите IIS Express или используйте традиционную клавишу F5.
После этого все файлы будут скомпилированы, и сайт откроется в браузере по адресу `http://localhost:5000` (номер порта может отличаться).
Как создать страницу в ASP.NET Web Forms
Сначала решите, в какой директории вы будете создавать страницы. Все файлы, находящиеся в одной директории, считаются единым проектом. Запустите выбранную среду разработки.
Выберите пункт меню File → New → Website. Появится диалоговое окно. В нем укажите имя проекта и выберите язык программирования C#.
По умолчанию проект создается в файловой системе. Опционально его можно создать на HTTP- или FTP-сервере. Также проект всегда можно скопировать из файловой системы на сервер, нажав кнопку Solution Explorer.
Чтобы создать другие страницы, щелкните правой кнопкой мыши на имени проекта и выберите пункт Add → Web Form в контекстном меню (вы можете задать другое имя для веб-формы, в данном случае создается новая форма с именем "News"):
Будет создана страница со следующим кодом:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="News.aspx.cs" Inherits="WebFormsApp1.News" %>
<!DOCTYPE html>
<html xmlns="https://www.w3.org/1999/xhtml">
<head runat="server">
<title>News</title> <!-- Добавьте заголовок страницы -->
</head>
<body>
<form id="news" runat="server">
<div>
Some information
</div>
</form>
</body>
</html>
Рассмотрим эту страницу. Строка `<%@ Page Language = "C#" %>` показывает, что тег `<%` всегда используется для интерпретации ASP-кода. Директива `Page` всегда присутствует на странице .aspx.
- Атрибут `Language` указывает, что для этой страницы используется язык программирования C#.
- Атрибут `CodeFile` задает имя файла с программным кодом (code-behind).
- Атрибут `Inherits` определяет класс, от которого наследуется текущая страница.
На этой странице отсутствует тег `<asp:Content>`, поэтому шаблон из файла Site.Master не будет отображаться. Чтобы это изменить, можно скопировать код из файла About.aspx.
Как вставить HTML-код на страницу
Чтобы передать строку вместе с HTML-тегом, необходимо использовать тип HtmlString, а не обычную строку:
HtmlString PageContent = new HtmlString("<p>Something!</p>");
Как добавить ссылку в меню
Меню расположено в файле Site.Master:
<ul class="nav navbar-nav">
<li><a runat="server" href="/~/">Home</a></li>
<li><a runat="server" href="/~/About">About</a></li>
<li><a runat="server" href="/~/Contact">Contact</a></li>
<li><a runat="server" href="/~/News">News</a></li> <!-- Добавляем ссылку в меню -->
</ul>
Заключение
В этой статье мы рассмотрели: создание сайта на ASP.NET, создание новой страницы, добавление ссылки на страницу в меню и многое другое. Чтобы узнать больше об ASP.NET, вы можете ознакомиться с официальной документацией на сайте https://learn.microsoft.com/ru-ru/aspnet/).
Статья о создании сайтов на ASP.NET предоставляет основы веб-разработки, включая создание динамических страниц и работу с MVC-моделью. Это знание может быть полезно для тех, кто интересуется созданием сайтов с интеграцией более сложных функциональностей, таких как динамические формы и взаимодействие с базами данных. Однако, для создания интернет-магазинов, проще использовать готовые решения, такие как OpenCart. OpenCart предлагает удобный интерфейс и набор инструментов для быстрого создания и настройки онлайн-магазинов без необходимости углубленного программирования. В отличие от ASP.NET, OpenCart предоставляет готовые модули, шаблоны и расширения, которые позволяют быстро запустить полноценный сайт с минимальными усилиями.