Как за час создать сайт на ASP.NET
Что делать, если сайт нужен был вчера, но писать его еще даже не начали? Самое время воспользоваться ASP.NET Web Forms!
vlada_maestro / shutterstock
ASP.NET Web Forms позволяет даже новичку быстро создать простой сайт. Если не планировать очень широкий функционал, то вполне можно справиться и за час.
Рассказываем, как это сделать, шаг за шагом.
Создание проекта ASP.NET в Visual Studio
Для начала создайте проект ASP.NET:
Затем укажите его имя:
А потом выберите модель Web Forms:
Как только Visual Studio подготовит шаблон проекта, его можно будет запустить, чтобы проверить. Для этого нажмите кнопку IIS Express:
Visual Studio скомпилирует все файлы, запустит сайт и откроет его в браузере по умолчанию. Если сайт не открылся, на него можно перейти самостоятельно. Для этого в трее найдите иконку IIS Express и посмотрите там адрес сайта. Он должен быть примерно таким: http://localhost:5000 (цифры в конце могут отличаться).
Вот как выглядит шаблон сайта:
Тут уже есть несколько страниц и немного стилей. Каждая страница состоит из трех файлов:
- Page.aspx. Файл с HTML-кодом страницы.
- Page.aspx.cs. Класс, который отвечает за логику работы страницы.
- Page.aspx.designer.cs. Класс, который служит прослойкой между HTML и C#.
Вот как выглядит About.aspx этого проекта:
А вот класс, который занимается логикой:
В About.aspx находится только фрагмент готовой страницы. Остальная часть располагается в файле Site.Master или Site.Mobile.Master. Контент из тега <asp:Content> (About.aspx) встраивается на место тега <asp:ContentPlaceHolder> (Site.Master) с идентичным ID:
Так на одной странице может быть несколько таких плейсхолдеров с разными ID: MainContent, RelevantArticles, Comments и так далее. Это позволяет легко управлять отдельными блоками страницы (как при использовании функции include () в PHP).
Как создать страницу в ASP.NET Web Forms
Чтобы создать другие страницы, нажмите правой кнопкой на название проекта и в контекстном меню выберите Add —> Web Form:
Будет создана страница с таким кодом:
В этой странице нет тега <asp:Content>, поэтому шаблон из файла Site.Master отображаться не будет. Чтобы изменить это, можно скопировать код из About.aspx.
Как добавить ссылку в меню
Меню находится в Site.Master:
В начале ссылки ставится знак «~», а название файла указывается без расширения.
Обратите внимание, что в других файлах знак тильды в начале ставить не нужно.
Как вставить HTML-код в страницу
Допустим, есть такая строка:
Если ее вывести, то пользователь увидит текст «<b>Hello, World!</b>», а не жирный шрифт. Чтобы передать в HTML-код строку вместе с тегом, нужно использовать не обычный тип string, а HtmlString:
Получение данных из URL
Дальше нужно получить данные из URL. Например, в ссылке /Article? id=1 хранится свойство id, которое необходимо, чтобы выбрать из базы данных статью с определенным идентификатором.
Получить это свойство можно с помощью статического класса Request (в нем хранятся и другие данные о запросе пользователя):
Перед тем как использовать значение, нужно проверить, существует ли оно, а потом привести его к необходимому типу:
Теперь значение можно использовать, чтобы открывать статьи по ссылке.
Вывод информации из базы данных
Описанного выше достаточно, чтобы добавить возможность получать и выводить статьи из базы данных. Для этого создайте класс Article:
Затем добавьте таблицу в базе данных с идентичными полями:
Теперь можно создать класс для получения данных из СУБД:
Теперь можно перейти в код страницы и добавить получение и вывод статей в методе Page_OnLoad ():
Вот как это работает:
Заключение
Вот так примерно за час создается простой сайт с подключением к базе данных и выводом статей. Основная логика готова, но, чтобы выложить его в сеть, нужно еще позаботиться:
- о внешнем виде;
- ограничении количества выводимых статей;
- админской панели;
- наполнении страниц и других важных вещах.