ASP.NET . Создание основного веб-сайта ASP.NET [2 из 13]
Создание динамического веб-сайта проще, чем возможно. ASP.NET позволяет использовать C# и смешивать с HTML для создания страниц Razor. Страницы Razor чисты и просты, так как они просто HTML, который вы уже знаете с небольшими битами C# вы учитесь сейчас!
Смотреть всю серию здесь
Скачайте Visual Studio 2019 здесь
Скачайте .NET Core 3.0 здесь
Дополнительные сведения о ASP.NET:
- Создание веб-сайта ASP.NET Core
- Что такое ASP.NET?
- Начало работы с ASP.NET?
- Репозиторий GitHub: ASP.NET
- Репозиторий ContosoCrafts: ContosoCrafts
Создание динамического веб-сайта проще, чем возможно. ASP.NET позволяет использовать C# и смешивать с HTML для создания страниц Razor. Страницы Razor чисты и просты, так как они просто HTML, который вы уже знаете с небольшими битами C# вы учитесь сейчас!
Смотреть всю серию здесь
Скачайте Visual Studio 2019 здесь
Скачайте .NET Core 3.0 здесь
Дополнительные сведения о ASP.NET:
- Создание веб-сайта ASP.NET Core
- Что такое ASP.NET?
- Начало работы с ASP.NET?
- Репозиторий GitHub: ASP.NET
- Репозиторий ContosoCrafts: ContosoCrafts
Введение в ASP.NET MVC
ASP.NET MVC представляет собой платформу для создания сайтов и веб-приложений с использованием паттерна (или шаблона) MVC (model — view — controller).
Работа над новой платформой была начата в 2007 году, а в 2009 году появилась первая версия. В итоге к текущему моменту (2012 год) уже было выпущено 4 версии платформы, а сам фреймворк обрел большую популярность по всему миру благодаря своей гибкости и адаптивности.
Шаблон MVC, лежащий в основе новой платформы, подразумевает взаимодействие трех компонентов: контроллера (controller), модели (model) и представления (view). Что же представляют эти компоненты?
Контроллер (controller) представляет класс, с которого собственно и начинается работа приложения. Этот класс обеспечивает связь между моделью и представлением. Получая вводимые пользователем данные, контроллер исходя из внутренней логики при необходимости обращается к модели и генерирует соответствующее представление.
Представление (view) — это собственно визуальная часть или пользовательский интерфейс приложения — например, html-страница, через которую пользователь, зашедший на сайт, взаимодействует с веб-приложением.
Модель (model) представляет набор классов, описывающих логику используемых данных.
Общую схему взаимодействия упрощенно можно представить следующим образом:

ASP.NET MVC и ASP.NET Web Forms
ASP.NET MVC является в некотором роде конкурентом для традиционных веб-форм и имеет по сравнению с ними следующие преимущества:
- Разделение ответственности . В MVC приложение состоит из трех частей: контроллера, представления и модели, каждая из которых выполняет свои специфичные функции. В итоге приложение будет легче поддерживать модифицировать в будущем.
- В силу разделения ответственности приложения mvc обладают лучшей тестируемостью . И мы можем тестировать отдельные компоненты независимо друг от друга.
- Соответствие протоколу HTTP . Приложения MVC в отличие от веб-форм не поддерживают объекты состояния (ViewState). Ясность и простота платформы позволяют добиться большего контроля над работой приложения
- Гибкость . Вы можете настраивать различные компоненты платформы по своему усмотрению. Изменять какие-либо части конвейера работы MVC или адаптировать его к своим нуждам и потребностям.
В то же время не стоит однозначно сбрасывать со счетов ASP.NET WebForms. Поскольку она также имеет свои сильные стороны, например, модель событий, которая будет ближе тем разработчикам, которые ранее занимались созданием клиентских приложений.
В традиционных веб-формах вы имеете контроль над разметкой и можете в реальном времени в визуальном редакторе Visual Studio увидеть, как будет выглядеть та или иная страница. При работе с MVC Visual Studio подобного не позволяет делать.
В любом случае вы вольны выбирать ту платформу, которая приходится вам больше по душе. И если у вас написаны объемные проекты с применением традиционных веб-форм, возможно, стоит продолжать с ними работать. Тем более, что ASP.NET Web Forms еще не умирает и также продолжает развиваться.
Создание сайта с нуля на ASP.NET Core MVC
Архив с исходным кодом проекта можно скачать ниже на странице по ссылке.
Часть 1. В этом видео посмотрим на конечный результат, какое веб-приложение у нас получится в итоге. Можно сказать, придумаем себе техническое задание. Также определимся со стеком технологий, которые будут использоваться в проекте.
Часть 2. В этом видео мы подготовим базовую структуру проекта, на которой в дальнейшем будет строиться наше приложение. Также выберем HTML5-макет для сайта, установим WYSIWYG-редактор CKEditor.
Часть 3. В этом видео мы запрограммируем базовую необходимую инфраструктуру, чтобы подготовить наш сайт к первому запуску.
Часть 4. В этом видео мы определим доменные объекты для нашего приложения, создадим контекст базы данных и в целом наладим связь между SQL-сервером и сайтом.
Часть 5. В этом видео мы настроим правила для аутентификации и авторизации пользователей. Также запрограммируем панель администратора, где можно управлять контентом сайта.
Часть 6. В этом видео мы запрограммируем вывод контента из базы данных в браузер пользователя, создадим соответствующие разделы на сайте, исправим HTML-макет под эти требования.
Часть 7. В этом видео мы заканчиваем работу над нашим сайтом. Настроим публикацию, проанализируем написанный код и в целом подведем итоги по проекту.
Как создать сайт на asp net core
Данное руководство устарело. Актуальное руководство: Руководство по ASP.NET Core 7
Последнее обновление: 15.12.2020
Для разработки под ASP.NET Core мы можем использовать различный инструментарий. Если нашей рабочей платформой является Windows, то мы можем использовать полнофункциональную среду разработки Visual Studio. Если мы разрабатываем на Mac OS или Linux, то можем использовать расширенный редактор кода Visual Studio Code . Данный редактор также может работать и под Windows. В рамках данного руководства преимущественно будет использоваться среда Visual Studio 2019.
Программу для установки Visual Studio 2019 можно загрузить со страницы https://www.visualstudio.com/downloads/. В данном случае не важно, какой выпуск VS использовать — бесплатный Community или платные Professional или Enterprise. Все эти выпуски имеют встроенные средства для создания приложений на ASP.NET Core. В рамках этого руководства будет использоваться бесплатный выпуск VS 2019 Community.
Итак, загрузим установщик VS 2019 и запустим его. Вначале нам предлагается установить ряд опций. И так как мы будем работать с ASP.NET Core, то выбрать в программе для установке пункт ASP.NET и разработка веб-приложений :

Также при выборе этого пункта в поле справа можно выбрать также необязательные компоненты, которые будут устанавливаться вместе с ASP.NET. Можно выбрать все компоненты.
Кроме того, чуть ниже также в программе установщика нам надо выбрать другой пункт Кроссплатформенная разработка .NET Core :

Отметив все необходимые нам опции, выполним установку Visual Studio.
После установки откроем Microsoft Visual Studio 2019 и при создании проекта выберем пункт ASP.NET Core Web Application — тип проекта для создания веб-приложения ASP.NET Core:

На следующем шаге дадим какое-нибудь имя проекту, например, HelloApp, и определим для него местоположение на жестком диске:

После этого отобразится окно выбора шаблона нового приложения:

Здесь нам доступно несколько типов проектов:
- ASP.NET Core Empty : пустой шаблон с самой минимальной функциональностью для создания приложений с нуля
- ASP.NET Core Web API : проект веб-приложения, который использует архитектуру REST для создания веб-сервиса
- ASP.NET Core Web App : проект, который для обработки запросов по умолчанию использует Razor Pages
- ASP.NET Core Web App(Model-View-Controller) : проект, который использует архитектуру MVC
- ASP.NET Core with Angular : проект, предназначенный специально для работы с Angular 2+.
- ASP.NET Core with React.js : проект, который использует React.JS
- ASP.NET Core with React.js and Redux : проект, который использует React.JS и Redux
Кроме того, здесь мы можем указать версию ASP.NET Core в выпадающем списке, но в данном случае оставим значение по умолчанию — ASP.NET Core 5.0.
Также здесь можно указать тип аутентификации, который по умолчанию используется в проекте, и подключить контейнер Docker.
Также здесь есть флажок «Configure for HTTPS». При установке этого флажка проект при отладке и тестировании по умолчанию будет запускаться по протоколу HTTPS. В данном случае установка и неустановка этого флажка не имеет значения. Кроме того, даже если мы установили эту отметку, то впоследствии через свойства проекта можно отменить запуск через HTTPS или, наоборот, заново установить.
Среди этих шаблонов выберем ASP.NET Core Empty , все остальные значения оставим по умолчанию и нажмем на кнопку ОК. И Visual Studio создает новый проект:

Структура проекта ASP.NET Core
Рассмотрим базовую структуру стандартного проекта ASP.NET Core. Проект ASP.NET Core Empty содержит очень простую структуру — необходимый минимум для запуска приложения:
- Connected Services : подключенные сервисы из Azure
- Dependencies : все добавленные в проект пакеты и библиотеки, иначе говоря зависимости
- Properties : узел, который содержит некоторые настройки проекта. В частности, в файле launchSettings.json описаны настройки запуска проекта, например, адреса, по которым будет запускаться приложение.
- appsettings.json : файл конфигурации проекта в формате json
- Program.cs : главный файл приложения, с которого и начинается его выполнение. Код этого файла настривает и запускает веб-хост, в рамках которого разворачивается приложение
- Startup.cs : файл, который определяет класс Startup и который содержит логику обработки входящих запросов
Данная структура, конечно, не представляет проект полнофункционального приложения. И если мы запустим проект, то в браузере увидим только строку «Hello World!», которая отправляется в ответ клиенту с помощью класса Startup:

При создании других типов проектов ASP.NET структура будет отличаться, соответственно начальный проект будет иметь больше функционала, однако это тот каркас, от которого мы можем отталкиваться, добавляя в него какие-то свои файлы и папки.