Руководство. Начало работы со Razor страницами в ASP.NET Core
Примечание.
Это не последняя версия этой статьи. В текущем выпуске см . версию .NET 9 этой статьи.
Предупреждение
Эта версия ASP.NET Core больше не поддерживается. Дополнительные сведения см. в политике поддержки .NET и .NET Core. В текущем выпуске см . версию .NET 9 этой статьи.
Внимание
Эта информация относится к предварительному выпуску продукта, который может быть существенно изменен до его коммерческого выпуска. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
В текущем выпуске см . версию .NET 9 этой статьи.
Автор: Рик Андерсон (Rick Anderson)
В этом первом руководстве серии приводятся основные сведения о веб-приложении Razor Pages в ASP.NET Core.
Дополнительные сведения, предназначенные для разработчиков, которые знакомы с контроллерами и представлениями, см. в статье Введение в Razor Pages. Общие сведения см. в разделе Entity Framework Core для начинающих.
Если вы новичок в разработке на ASP.NET Core и не знаете, какое решение для пользовательского веб-интерфейса подойдет вам, см. статью Выбор пользовательского интерфейса ASP.NET Core.
В конце этого руководства у вас будет Razor веб-приложение Pages, которое управляет базой данных фильмов.
Необходимые компоненты
Visual Studio 2022 с рабочей нагрузкой ASP.NET и веб-разработка.
Создание веб-приложения Razor Pages
Запустите Visual Studio и выберите новый проект.
В диалоговом окне "Создание проекта" выберите ASP.NET Core Web App (RazorPages)>Next.
В диалоговом окне Настроить новый проект введите
RazorPagesMovie
в поле Имя проекта. Важно присвоить проекту RazorPagesMovie, включая сопоставление прописной буквы, поэтому пространства имен будут соответствовать при копировании и вставке примера кода.Выберите Далее.
В диалоговом окне Дополнительные сведения выполните следующие действия.
- Выберите .NET 9.0.
- Убедитесь, что не используйте операторы верхнего уровня, снятые.
Нажмите кнопку создания.
Создается следующий начальный проект:
Альтернативные подходы к созданию проекта см. в статье Создание проекта в Visual Studio.
Выполнить приложение
Выберите RazorPagesMovie в Обозреватель решений и нажмите клавиши CTRL+F5, чтобы запустить приложение без отладчика.
Visual Studio отображает следующее диалоговое окно, если проект еще не настроен для использования SSL:
Выберите Да, чтобы сделать SSL-сертификат IIS Express доверенным.
Отобразится следующее диалоговое окно.
Выберите Да, если согласны доверять сертификату разработки.
Сведения о доверии к браузеру Firefox см. в разделе Ошибка сертификата браузера Firefox SEC_ERROR_INADEQUATE_KEY_USAGE.
Visual Studio:
- Запускает приложение, которое запускает сервер Kestrel.
- Запускает браузер по умолчанию по адресу
https://localhost:<port>
, который отображает пользовательский интерфейс приложений.<port>
— случайный порт, назначенный при создании приложения.
Закройте окно браузера.
Анализ файлов проекта
В разделах ниже приведен обзор основных папок и файлов проекта, с которыми вы будете работать в последующих учебниках.
Папка Pages
Содержит страницы Razor и вспомогательные файлы. Каждая страница Razor — это пара файлов.
- Файл
.cshtml
с разметкой HTML и кодом C# использует синтаксис Razor. -
.cshtml.cs
Файл с кодом C#, который обрабатывает события страницы.
Имена вспомогательных файлов начинаются с символа подчеркивания. Например, _Layout.cshtml
файл настраивает элементы пользовательского интерфейса, общие для всех страниц.
_Layout.cshtml
настраивает меню навигации в верхней части страницы и уведомление об авторских правах в нижней части страницы. Подробные сведения см. в статье Макет в ASP.NET Core.
Папка wwwroot
Содержит статические ресурсы, такие как HTML-файлы, файлы JavaScript и CSS-файлы. Подробные сведения см. в статье Статические файлы в ASP.NET Core.
appsettings.json
Содержит данные конфигурации, например строки подключения. Дополнительные сведения см. в разделе Конфигурация в ASP.NET Core.
Program.cs
Содержит следующий код:
var builder = WebApplication.CreateBuilder(args);
// Add services to the container.
builder.Services.AddRazorPages();
var app = builder.Build();
// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment())
{
app.UseExceptionHandler("/Error");
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseRouting();
app.UseAuthorization();
app.MapStaticAssets();
app.MapRazorPages();
app.Run();
Следующие строки кода в этом файле создают WebApplicationBuilder
предварительно настроенные значения по умолчанию, добавляют Razor поддержку Pages в контейнер внедрения зависимостей (DI) и создают приложение:
var builder = WebApplication.CreateBuilder(args);
// Add services to the container.
builder.Services.AddRazorPages();
var app = builder.Build();
Страница со сведениями об исключении для разработчика включена по умолчанию и содержит полезную информацию об исключениях. Рабочие приложения не следует запускать в режиме разработки, поскольку на странице со сведениями об исключении для разработчика может находиться конфиденциальная информация.
В следующем коде для конечной точки устанавливаются исключения /Error
и включается протокол HSTS, если приложение не запущено в режиме разработки:
// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment())
{
app.UseExceptionHandler("/Error");
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
app.UseHsts();
}
Например, приведенный выше код выполняется, когда приложение находится в рабочем или тестовом режиме. Дополнительные сведения см. в статье Использование нескольких сред в ASP.NET Core.
Следующий код включает различное ПО промежуточного слоя:
-
app.UseHttpsRedirection();
: перенаправляет все запросы HTTP на HTTPS. -
app.UseRouting();
: добавляет соответствие маршрута в конвейер ПО промежуточного слоя. Подробные сведения см. в статье Маршрутизация в ASP.NET Core. -
app.UseAuthorization();
: разрешает пользователю доступ к защищенным ресурсам. Это приложение не использует авторизацию, поэтому эту строку можно удалить. -
app.MapRazorPages();
: настраивает маршрутизацию конечных точек для Razor Pages. -
app.MapStaticAssets();
. Оптимизация доставки статических ресурсов в приложении, таких как HTML, CSS, изображения и JavaScript. Дополнительные сведения см. в статье "Новые возможности" в ASP.NET Core 9.0. -
app.Run();
: запускает приложение.
Устранение неполадок с завершенным примером
Если вы столкнулись с проблемой, которую не можете решить, сравните свой код с кодом готового проекта. Просмотрите или скачайте завершенный проект (порядок загрузки).
Следующие шаги
В этом первом руководстве серии приводятся основные сведения о веб-приложении Razor Pages в ASP.NET Core.
Дополнительные сведения, предназначенные для разработчиков, которые знакомы с контроллерами и представлениями, см. в статье Введение в Razor Pages. Общие сведения см. в разделе Entity Framework Core для начинающих.
Если вы новичок в разработке на ASP.NET Core и не знаете, какое решение для пользовательского веб-интерфейса подойдет вам, см. статью Выбор пользовательского интерфейса ASP.NET Core.
В конце этого руководства у вас будет Razor веб-приложение Pages, которое управляет базой данных фильмов.
Необходимые компоненты
Visual Studio 2022 с рабочей нагрузкой ASP.NET и веб-разработка.
Создание веб-приложения Razor Pages
Запустите Visual Studio и выберите новый проект.
В диалоговом окне "Создание проекта" выберите ASP.NET Core Web App (RazorPages)>Next.
В диалоговом окне Настроить новый проект введите
RazorPagesMovie
в поле Имя проекта. Важно присвоить проекту RazorPagesMovie, включая сопоставление прописной буквы, поэтому пространства имен будут соответствовать при копировании и вставке примера кода.Выберите Далее.
В диалоговом окне Дополнительные сведения выполните следующие действия.
- Выберите .NET 8.0 (долгосрочная поддержка).
- Убедитесь, что не используйте операторы верхнего уровня, снятые.
Нажмите кнопку создания.
Создается следующий начальный проект:
Альтернативные подходы к созданию проекта см. в статье Создание проекта в Visual Studio.
Выполнить приложение
Выберите RazorPagesMovie в Обозреватель решений и нажмите клавиши CTRL+F5, чтобы запустить приложение без отладчика.
Visual Studio отображает следующее диалоговое окно, если проект еще не настроен для использования SSL:
Выберите Да, чтобы сделать SSL-сертификат IIS Express доверенным.
Отобразится следующее диалоговое окно.
Выберите Да, если согласны доверять сертификату разработки.
Сведения о доверии к браузеру Firefox см. в разделе Ошибка сертификата браузера Firefox SEC_ERROR_INADEQUATE_KEY_USAGE.
Visual Studio:
- Запускает приложение, которое запускает сервер Kestrel.
- Запускает браузер по умолчанию по адресу
https://localhost:<port>
, который отображает пользовательский интерфейс приложений.<port>
— случайный порт, назначенный при создании приложения.
Закройте окно браузера.
Анализ файлов проекта
В разделах ниже приведен обзор основных папок и файлов проекта, с которыми вы будете работать в последующих учебниках.
Папка Pages
Содержит страницы Razor и вспомогательные файлы. Каждая страница Razor — это пара файлов.
- Файл
.cshtml
с разметкой HTML и кодом C# использует синтаксис Razor. -
.cshtml.cs
Файл с кодом C#, который обрабатывает события страницы.
Имена вспомогательных файлов начинаются с символа подчеркивания. Например, _Layout.cshtml
файл настраивает элементы пользовательского интерфейса, общие для всех страниц.
_Layout.cshtml
настраивает меню навигации в верхней части страницы и уведомление об авторских правах в нижней части страницы. Подробные сведения см. в статье Макет в ASP.NET Core.
Папка wwwroot
Содержит статические ресурсы, такие как HTML-файлы, файлы JavaScript и CSS-файлы. Подробные сведения см. в статье Статические файлы в ASP.NET Core.
appsettings.json
Содержит данные конфигурации, например строки подключения. Дополнительные сведения см. в разделе Конфигурация в ASP.NET Core.
Program.cs
Содержит следующий код:
var builder = WebApplication.CreateBuilder(args);
// Add services to the container.
builder.Services.AddRazorPages();
var app = builder.Build();
// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment())
{
app.UseExceptionHandler("/Error");
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseRouting();
app.UseAuthorization();
app.MapRazorPages();
app.Run();
Следующие строки кода в этом файле создают WebApplicationBuilder
предварительно настроенные значения по умолчанию, добавляют Razor поддержку Pages в контейнер внедрения зависимостей (DI) и создают приложение:
var builder = WebApplication.CreateBuilder(args);
// Add services to the container.
builder.Services.AddRazorPages();
var app = builder.Build();
Страница со сведениями об исключении для разработчика включена по умолчанию и содержит полезную информацию об исключениях. Рабочие приложения не следует запускать в режиме разработки, поскольку на странице со сведениями об исключении для разработчика может находиться конфиденциальная информация.
В следующем коде для конечной точки устанавливаются исключения /Error
и включается протокол HSTS, если приложение не запущено в режиме разработки:
// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment())
{
app.UseExceptionHandler("/Error");
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
app.UseHsts();
}
Например, приведенный выше код выполняется, когда приложение находится в рабочем или тестовом режиме. Дополнительные сведения см. в статье Использование нескольких сред в ASP.NET Core.
Следующий код включает различное ПО промежуточного слоя:
-
app.UseHttpsRedirection();
: перенаправляет все запросы HTTP на HTTPS. -
app.UseStaticFiles();
: обеспечивает обслуживание таких статических файлов, как HTML, CSS, изображения и JavaScript. Подробные сведения см. в статье Статические файлы в ASP.NET Core. -
app.UseRouting();
: добавляет соответствие маршрута в конвейер ПО промежуточного слоя. Дополнительные сведения см. в статье Маршрутизация в ASP.NET Core. -
app.MapRazorPages();
: настраивает маршрутизацию конечных точек для Razor Pages. -
app.UseAuthorization();
: разрешает пользователю доступ к защищенным ресурсам. Это приложение не использует авторизацию, поэтому эту строку можно удалить. -
app.Run();
: запускает приложение.
Устранение неполадок с завершенным примером
Если вы столкнулись с проблемой, которую не можете решить, сравните свой код с кодом готового проекта. Просмотрите или скачайте завершенный проект (порядок загрузки).
Следующие шаги
В этом первом руководстве серии приводятся основные сведения о веб-приложении Razor Pages в ASP.NET Core.
Дополнительные сведения, предназначенные для разработчиков, которые знакомы с контроллерами и представлениями, см. в статье Введение в Razor Pages. Общие сведения см. в разделе Entity Framework Core для начинающих.
Если вы новичок в разработке на ASP.NET Core и не знаете, какое решение для пользовательского веб-интерфейса подойдет вам, см. статью Выбор пользовательского интерфейса ASP.NET Core.
В конце этого руководства у вас будет Razor веб-приложение Pages, которое управляет базой данных фильмов.
Необходимые компоненты
Visual Studio 2022 с рабочей нагрузкой ASP.NET и веб-разработка.
Создание веб-приложения Razor Pages
Откройте Visual Studio и выберите Создать проект.
В диалоговом окне "Создание проекта" выберите ASP.NET Core Web App>Next.
В диалоговом окне Настроить новый проект введите
RazorPagesMovie
в поле Имя проекта. Важно присвоить проекту RazorPagesMovie, включая сопоставление прописной буквы, поэтому пространства имен будут соответствовать при копировании и вставке примера кода.Выберите Далее.
В диалоговом окне Дополнительные сведения выполните следующие действия.
- Выберите .NET 7.0 (стандартная поддержка терминов).
- Убедитесь, что не используйте операторы верхнего уровня, снятые.
Нажмите кнопку создания.
Создается следующий начальный проект:
Альтернативные подходы к созданию проекта см. в статье Создание проекта в Visual Studio.
Выполнить приложение
Выберите RazorPagesMovie в Обозреватель решений и нажмите клавиши CTRL+F5, чтобы запустить приложение без отладчика.
Visual Studio отображает следующее диалоговое окно, если проект еще не настроен для использования SSL:
Выберите Да, чтобы сделать SSL-сертификат IIS Express доверенным.
Отобразится следующее диалоговое окно.
Выберите Да, если согласны доверять сертификату разработки.
Сведения о доверии к браузеру Firefox см. в разделе Ошибка сертификата браузера Firefox SEC_ERROR_INADEQUATE_KEY_USAGE.
Visual Studio:
- Запускает приложение, которое запускает сервер Kestrel.
- Запускает браузер по умолчанию по адресу
https://localhost:<port>
, который отображает пользовательский интерфейс приложений.<port>
— случайный порт, назначенный при создании приложения.
Закройте окно браузера.
Анализ файлов проекта
В разделах ниже приведен обзор основных папок и файлов проекта, с которыми вы будете работать в последующих учебниках.
Папка Pages
Содержит страницы Razor и вспомогательные файлы. Каждая страница Razor — это пара файлов.
- Файл
.cshtml
с разметкой HTML и кодом C# использует синтаксис Razor. -
.cshtml.cs
Файл с кодом C#, который обрабатывает события страницы.
Имена вспомогательных файлов начинаются с символа подчеркивания. Например, _Layout.cshtml
файл настраивает элементы пользовательского интерфейса, общие для всех страниц.
_Layout.cshtml
настраивает меню навигации в верхней части страницы и уведомление об авторских правах в нижней части страницы. Подробные сведения см. в статье Макет в ASP.NET Core.
Папка wwwroot
Содержит статические ресурсы, такие как HTML-файлы, файлы JavaScript и CSS-файлы. Подробные сведения см. в статье Статические файлы в ASP.NET Core.
appsettings.json
Содержит данные конфигурации, например строки подключения. Дополнительные сведения см. в разделе Конфигурация в ASP.NET Core.
Program.cs
Содержит следующий код:
var builder = WebApplication.CreateBuilder(args);
// Add services to the container.
builder.Services.AddRazorPages();
var app = builder.Build();
// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment())
{
app.UseExceptionHandler("/Error");
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseRouting();
app.UseAuthorization();
app.MapRazorPages();
app.Run();
Следующие строки кода в этом файле создают WebApplicationBuilder
предварительно настроенные значения по умолчанию, добавляют Razor поддержку Pages в контейнер внедрения зависимостей (DI) и создают приложение:
var builder = WebApplication.CreateBuilder(args);
// Add services to the container.
builder.Services.AddRazorPages();
var app = builder.Build();
Страница со сведениями об исключении для разработчика включена по умолчанию и содержит полезную информацию об исключениях. Рабочие приложения не следует запускать в режиме разработки, поскольку на странице со сведениями об исключении для разработчика может находиться конфиденциальная информация.
В следующем коде для конечной точки устанавливаются исключения /Error
и включается протокол HSTS, если приложение не запущено в режиме разработки:
// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment())
{
app.UseExceptionHandler("/Error");
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
app.UseHsts();
}
Например, приведенный выше код выполняется, когда приложение находится в рабочем или тестовом режиме. Дополнительные сведения см. в статье Использование нескольких сред в ASP.NET Core.
Следующий код включает различное ПО промежуточного слоя:
-
app.UseHttpsRedirection();
: перенаправляет все запросы HTTP на HTTPS. -
app.UseStaticFiles();
: обеспечивает обслуживание таких статических файлов, как HTML, CSS, изображения и JavaScript. Подробные сведения см. в статье Статические файлы в ASP.NET Core. -
app.UseRouting();
: добавляет соответствие маршрута в конвейер ПО промежуточного слоя. Дополнительные сведения см. в статье Маршрутизация в ASP.NET Core. -
app.MapRazorPages();
: настраивает маршрутизацию конечных точек для Razor Pages. -
app.UseAuthorization();
: разрешает пользователю доступ к защищенным ресурсам. Это приложение не использует авторизацию, поэтому эту строку можно удалить. -
app.Run();
: запускает приложение.
Устранение неполадок с завершенным примером
Если вы столкнулись с проблемой, которую не можете решить, сравните свой код с кодом готового проекта. Просмотрите или скачайте завершенный проект (порядок загрузки).
Следующие шаги
В этом первом руководстве серии приводятся основные сведения о веб-приложении Razor Pages в ASP.NET Core.
Дополнительные сведения, предназначенные для разработчиков, которые знакомы с контроллерами и представлениями, см. в статье Введение в Razor Pages. Общие сведения см. в разделе Entity Framework Core для начинающих.
Если вы новичок в разработке на ASP.NET Core и не знаете, какое решение для пользовательского веб-интерфейса подойдет вам, см. статью Выбор пользовательского интерфейса ASP.NET Core.
Пройдя всю серию, вы получите приложение, которое управляет базой данных фильмов.
Изучив это руководство, вы:
- Создание веб-приложения Razor Pages.
- Выполнить приложение.
- Анализ файлов проекта.
Пройдя это руководство, вы получите рабочее веб-приложение Razor Pages, улучшение которого описано в последующих руководствах.
Необходимые компоненты
- Visual Studio 2022 с рабочей нагрузкой ASP.NET и веб-разработка.
- Пакет SDK для .NET 6.0
Создание веб-приложения Razor Pages
Запустите Visual Studio 2022 и нажмите Создать проект.
В диалоговом окне Создать проект выберите Веб-приложение ASP.NET Core и нажмите Далее.
В диалоговом окне Настроить новый проект введите
RazorPagesMovie
в поле Имя проекта. Важно присвоить проекту RazorPagesMovie, включая сопоставление прописной буквы, поэтому пространства имен будут соответствовать при копировании и вставке примера кода.Выберите Далее.
В диалоговом окне Дополнительные сведения выберите .NET 6.0 (долгосрочная поддержка) и щелкните Создать.
Создается следующий начальный проект:
Выполнить приложение
Выберите RazorPagesMovie в Обозреватель решений, а затем нажмите клавиши CTRL+F5, чтобы запустить без отладчика.
Visual Studio отображает следующее диалоговое окно, если проект еще не настроен для использования SSL:
Выберите Да, чтобы сделать SSL-сертификат IIS Express доверенным.
Отобразится следующее диалоговое окно.
Выберите Да, если согласны доверять сертификату разработки.
Сведения о доверии к браузеру Firefox см. в разделе Ошибка сертификата браузера Firefox SEC_ERROR_INADEQUATE_KEY_USAGE.
Visual Studio:
- Запускает приложение, которое запускает сервер Kestrel.
- Запускает браузер по умолчанию по адресу
https://localhost:5001
, который отображает пользовательский интерфейс приложений.
Анализ файлов проекта
В разделах ниже приведен обзор основных папок и файлов проекта, с которыми вы будете работать в последующих учебниках.
Папка Pages
Содержит страницы Razor и вспомогательные файлы. Каждая страница Razor — это пара файлов.
- Файл
.cshtml
с разметкой HTML и кодом C# использует синтаксис Razor. -
.cshtml.cs
Файл с кодом C#, который обрабатывает события страницы.
Имена вспомогательных файлов начинаются с символа подчеркивания. Например, _Layout.cshtml
файл настраивает элементы пользовательского интерфейса, общие для всех страниц. Этот файл настраивает меню навигации в верхней части страницы и уведомление об авторских правах в нижней части страницы. Подробные сведения см. в статье Макет в ASP.NET Core.
Папка wwwroot
Содержит статические ресурсы, такие как HTML-файлы, файлы JavaScript и CSS-файлы. Подробные сведения см. в статье Статические файлы в ASP.NET Core.
appsettings.json
Содержит данные конфигурации, например строки подключения. Дополнительные сведения см. в разделе Конфигурация в ASP.NET Core.
Program.cs
Содержит следующий код:
var builder = WebApplication.CreateBuilder(args);
// Add services to the container.
builder.Services.AddRazorPages();
var app = builder.Build();
// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment())
{
app.UseExceptionHandler("/Error");
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseRouting();
app.UseAuthorization();
app.MapRazorPages();
app.Run();
В следующих строках кода в этом файле создается объект WebApplicationBuilder
с предварительно настроенными значениями по умолчанию, добавляется поддержка Razor Pages в контейнер внедрения зависимостей (DI) и выполняется сборка приложения.
var builder = WebApplication.CreateBuilder(args);
// Add services to the container.
builder.Services.AddRazorPages();
var app = builder.Build();
Страница со сведениями об исключении для разработчика включена по умолчанию и содержит полезную информацию об исключениях. Рабочие приложения не следует запускать в режиме разработки, поскольку на странице со сведениями об исключении для разработчика может находиться конфиденциальная информация.
В следующем коде для конечной точки устанавливаются исключения /Error
и включается протокол HSTS, если приложение не запущено в режиме разработки:
// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment())
{
app.UseExceptionHandler("/Error");
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
app.UseHsts();
}
Например, приведенный выше код выполняется, когда приложение находится в рабочем или тестовом режиме. Дополнительные сведения см. в статье Использование нескольких сред в ASP.NET Core.
Следующий код включает различное ПО промежуточного слоя:
-
app.UseHttpsRedirection();
: перенаправляет все запросы HTTP на HTTPS. -
app.UseStaticFiles();
: обеспечивает обслуживание таких статических файлов, как HTML, CSS, изображения и JavaScript. Подробные сведения см. в статье Статические файлы в ASP.NET Core. -
app.UseRouting();
: добавляет соответствие маршрута в конвейер ПО промежуточного слоя. Дополнительные сведения см. в статье Маршрутизация в ASP.NET Core. -
app.MapRazorPages();
: настраивает маршрутизацию конечных точек для Razor Pages. -
app.UseAuthorization();
: разрешает пользователю доступ к защищенным ресурсам. Это приложение не использует авторизацию, поэтому эту строку можно удалить. -
app.Run();
: запускает приложение.
Устранение неполадок с завершенным примером
Если вы столкнулись с проблемой, которую не можете решить, сравните свой код с кодом готового проекта. Просмотрите или скачайте завершенный проект (порядок загрузки).
Следующие шаги
В этом первом руководстве серии приводятся основные сведения о веб-приложении Razor Pages в ASP.NET Core.
Дополнительные сведения, предназначенные для разработчиков, которые знакомы с контроллерами и представлениями, см. в статье Введение в Razor Pages.
Если вы новичок в разработке на ASP.NET Core и не знаете, какое решение для пользовательского веб-интерфейса подойдет вам, см. статью Выбор пользовательского интерфейса ASP.NET Core.
Пройдя всю серию, вы получите приложение, которое управляет базой данных фильмов.
Изучив это руководство, вы:
- Создание веб-приложения Razor Pages.
- Выполнить приложение.
- Анализ файлов проекта.
Пройдя это руководство, вы получите рабочее веб-приложение Razor Pages, улучшение которого описано в последующих руководствах.
Необходимые компоненты
- Visual Studio 2019 16.8 или более поздней версии с рабочей нагрузкой ASP.NET и разработка веб-приложений
- Пакет SDK для .NET 5.0
Создание веб-приложения Razor Pages
Откройте Visual Studio и выберите Создать проект. Дополнительные сведения см. в статье Создание проекта в Visual Studio.
В диалоговом окне Создать проект выберите Веб-приложение ASP.NET Core и нажмите Далее.
В диалоговом окне Настроить новый проект введите
RazorPagesMovie
в поле Имя проекта. Важно присвоить проекту RazorPagesMovie, включая сопоставление прописной буквы, поэтому пространства имен будут соответствовать при копировании и вставке примера кода.Нажмите кнопку создания.
В диалоговом окне Создайте веб-приложение ASP.NET Core сделайте следующее:
- В раскрывающихся списках выберите .NET Core и ASP.NET Core 5.0.
- Веб-приложение.
- Создание.
Создается следующий начальный проект:
Выполнить приложение
Нажмите клавиши CTRL+F5, чтобы выполнить запуск без отладчика.
Visual Studio отображает следующее диалоговое окно, если проект еще не настроен для использования SSL:
Выберите Да, чтобы сделать SSL-сертификат IIS Express доверенным.
Отобразится следующее диалоговое окно.
Выберите Да, если согласны доверять сертификату разработки.
Сведения о доверии к браузеру Firefox см. в разделе Ошибка сертификата браузера Firefox SEC_ERROR_INADEQUATE_KEY_USAGE.
Visual Studio запускает IIS Express, а затем приложение. В адресной строке указывается
localhost:port#
, а не что-либо типаexample.com
. Это связано с тем, чтоlocalhost
— стандартное имя узла для локального компьютера. Localhost обслуживает только веб-запросы с локального компьютера. Когда Visual Studio создает веб-проект, для веб-сервера используется случайный порт.
Анализ файлов проекта
Ниже приведен обзор основных папок и файлов проекта, с которыми вы будете работать в последующих учебниках.
Папка Pages
Содержит страницы Razor и вспомогательные файлы. Каждая страница Razor — это пара файлов.
- Файл
.cshtml
с разметкой HTML и кодом C# использует синтаксис Razor. -
.cshtml.cs
Файл с кодом C#, который обрабатывает события страницы.
Имена вспомогательных файлов начинаются с символа подчеркивания. Например, _Layout.cshtml
файл настраивает элементы пользовательского интерфейса, общие для всех страниц. Этот файл настраивает меню навигации в верхней части страницы и уведомление об авторских правах в нижней части страницы. Подробные сведения см. в статье Макет в ASP.NET Core.
Папка wwwroot
Содержит статические ресурсы, такие как HTML-файлы, файлы JavaScript и CSS-файлы. Подробные сведения см. в статье Статические файлы в ASP.NET Core.
appsettings.json
Содержит данные конфигурации, например строки подключения. Дополнительные сведения см. в разделе Конфигурация в ASP.NET Core.
Program.cs
Содержит точку входа для приложения. Дополнительные сведения см. в статье Универсальный узел .NET в ASP.NET Core.
Startup.cs
содержит код, задающий поведение приложения. Подробные сведения см. в статье Запуск приложения в ASP.NET Core.
Устранение неполадок с завершенным примером
Если вы столкнулись с проблемой, которую не можете решить, сравните свой код с кодом готового проекта. Просмотрите или скачайте завершенный проект (порядок загрузки).
Следующие шаги
В этом первом руководстве серии приводятся основные сведения о веб-приложении Razor Pages в ASP.NET Core.
Дополнительные сведения, предназначенные для разработчиков, которые знакомы с контроллерами и представлениями, см. в статье Введение в Razor Pages.
Пройдя всю серию, вы получите приложение, которое управляет базой данных фильмов.
Просмотреть или скачать пример кода (описание скачивания).
Изучив это руководство, вы:
- Создание веб-приложения Razor Pages.
- Выполнить приложение.
- Анализ файлов проекта.
Пройдя это руководство, вы получите рабочее веб-приложение Razor Pages, сборка которого описана в последующих руководствах.
Необходимые компоненты
- Visual Studio 2019 16.4 или более поздней версии с рабочей нагрузкой ASP.NET и разработка веб-приложений
- Пакет SDK для .NET Core 3.1
Создание веб-приложения Razor Pages
В меню Файл Visual Studio откройте меню Создать>Проект.
Создайте веб-приложение ASP.NET Core и нажмите кнопку Далее.
Назовите проект RazorPagesMovie. Очень важно, чтобы проект имел имя RazorPagesMovie, так как пространства имен при копировании и вставке кода должны совпасть.
Выберите в раскрывающемся списке пункт ASP.NET Core 3.1, затем — Веб-приложение и нажмите кнопку Создать.
Создается следующий начальный проект:
Выполнить приложение
Нажмите клавиши CTRL+F5, чтобы выполнить запуск без отладчика.
Visual Studio отображает следующее диалоговое окно, если проект еще не настроен для использования SSL:
Выберите Да, чтобы сделать SSL-сертификат IIS Express доверенным.
Отобразится следующее диалоговое окно.
Выберите Да, если согласны доверять сертификату разработки.
Сведения о доверии к браузеру Firefox см. в разделе Ошибка сертификата браузера Firefox SEC_ERROR_INADEQUATE_KEY_USAGE.
Visual Studio запускает IIS Express, а затем приложение. В адресной строке указывается
localhost:port#
, а не что-либо типаexample.com
. Это связано с тем, чтоlocalhost
— стандартное имя узла для локального компьютера. Localhost обслуживает только веб-запросы с локального компьютера. Когда Visual Studio создает веб-проект, для веб-сервера используется случайный порт.
Анализ файлов проекта
Ниже приведен обзор основных папок и файлов проекта, с которыми вы будете работать в последующих учебниках.
Папка Pages
Содержит страницы Razor и вспомогательные файлы. Каждая страница Razor — это пара файлов.
- Файл
.cshtml
с разметкой HTML и кодом C# использует синтаксис Razor. -
.cshtml.cs
Файл с кодом C#, который обрабатывает события страницы.
Имена вспомогательных файлов начинаются с символа подчеркивания. Например, _Layout.cshtml
файл настраивает элементы пользовательского интерфейса, общие для всех страниц. Этот файл настраивает меню навигации в верхней части страницы и уведомление об авторских правах в нижней части страницы. Подробные сведения см. в статье Макет в ASP.NET Core.
Папка wwwroot
Содержит статические файлы, такие как HTML-файлы, файлы JavaScript и CSS-файлы. Подробные сведения см. в статье Статические файлы в ASP.NET Core.
appSettings.json
Содержит данные конфигурации, например строки подключения. Дополнительные сведения см. в разделе Конфигурация в ASP.NET Core.
Program.cs
Содержит точку входа для программы. Дополнительные сведения см. в статье Универсальный узел .NET в ASP.NET Core.
Startup.cs
содержит код, задающий поведение приложения. Подробные сведения см. в статье Запуск приложения в ASP.NET Core.
Следующие шаги
ASP.NET Core