Zelfstudie: Aan de slag met Razor Pagina's in ASP.NET Core
Notitie
Dit is niet de nieuwste versie van dit artikel. Zie de .NET 9-versie van dit artikelvoor de huidige release.
Waarschuwing
Deze versie van ASP.NET Core wordt niet meer ondersteund. Zie de .NET- en .NET Core-ondersteuningsbeleidvoor meer informatie. Zie de .NET 9-versie van dit artikelvoor de huidige release.
Belangrijk
Deze informatie heeft betrekking op een pre-releaseproduct dat aanzienlijk kan worden gewijzigd voordat het commercieel wordt uitgebracht. Microsoft geeft geen garanties, uitdrukkelijk of impliciet, met betrekking tot de informatie die hier wordt verstrekt.
Zie de .NET 9-versie van dit artikelvoor de huidige release.
Door Rick Anderson
Dit is de eerste zelfstudie van een reeks die de basisbeginselen leert van het bouwen van een ASP.NET Core Razor Pages-web-app.
Zie Inleiding tot Razor Pagina'svoor een geavanceerdere inleiding bedoeld voor ontwikkelaars die al vertrouwd zijn met controllers en weergaven. Zie voor een video-inleiding Entity Framework Core voor beginners.
Als u nieuw bent in de ontwikkeling van ASP.NET Core en niet zeker weet welke webgebruiksinterface voor ASP.NET Core het beste bij uw behoeften past, zie Een ASP.NET Core UI-kiezen.
Aan het einde van deze zelfstudie hebt u een Razor Pages-web-app waarmee een database met films wordt beheerd.
Voorwaarden
Visual Studio 2022 met de ASP.NET- en webontwikkelingsworkload.
Een Razor Pages-web-app maken
Start Visual Studio en selecteer Nieuw project.
Selecteer in het dialoogvenster Een nieuw project makenASP.NET Core Web App (Razor Pagina's)>Volgende.
Voer in het dialoogvenster Uw nieuwe project configureren
RazorPagesMovie
in voor projectnaam. Het is belangrijk om het project een naam te geven RazorPagesMovie, inclusief overeenkomende hoofdletters, zodat de naamruimten overeenkomen wanneer u voorbeeldcode kopieert en plakt.Selecteer Volgende.
In het dialoogvenster Aanvullende informatie:
- Selecteer .NET 9.0.
- Controleer: Gebruik geen instructies op het hoogste niveau is uitgeschakeld.
Selecteer maken.
Het volgende startersproject wordt gemaakt:
Zie Een nieuw project maken in Visual Studiovoor alternatieve methoden voor het maken van het project.
De app uitvoeren
Selecteer RazorPagesMovie in Solution Explorer-en druk vervolgens op Ctrl+F5- om de app uit te voeren zonder het foutopsporingsprogramma.
Visual Studio geeft het volgende dialoogvenster weer wanneer een project nog niet is geconfigureerd voor het gebruik van SSL:
Selecteer Ja als u het IIS Express SSL-certificaat vertrouwt.
Het volgende dialoogvenster wordt weergegeven:
Selecteer Ja als u akkoord gaat met het vertrouwen van het ontwikkelingscertificaat.
Zie Firefox SEC_ERROR_INADEQUATE_KEY_USAGE certificaatfoutvoor meer informatie over het vertrouwen van de Firefox-browser.
Visual Studio:
- Hiermee wordt de app uitgevoerd, waarmee de Kestrel-server wordt gestart.
- Hiermee start u de standaardbrowser op
https://localhost:<port>
, waarin de gebruikersinterface van de apps wordt weergegeven.<port>
is de willekeurige poort die wordt toegewezen toen de app werd gemaakt.
Sluit het browservenster.
De projectbestanden onderzoeken
De volgende secties bevatten een overzicht van de hoofdprojectmappen en bestanden waarmee u in latere zelfstudies gaat werken.
Paginamap
Bevat Razor pagina's en bijbehorende bestanden. Elke Razor pagina is een paar bestanden:
- Een
.cshtml
-bestand met HTML-markeringen met C#-code met behulp van Razor syntaxis. - Een
.cshtml.cs
-bestand met C#-code waarmee paginagebeurtenissen worden verwerkt.
Ondersteunende bestanden hebben namen die beginnen met een onderstrepingsteken. Het bestand _Layout.cshtml
configureert bijvoorbeeld UI-elementen die voor alle pagina's gebruikelijk zijn.
_Layout.cshtml
stelt het navigatiemenu boven aan de pagina en de copyrightmelding onder aan de pagina in. Zie Indeling in ASP.NET Corevoor meer informatie.
wwwroot-folder
Bevat statische assets, zoals HTML-bestanden, JavaScript-bestanden en CSS-bestanden. Zie Statische bestanden in ASP.NET Corevoor meer informatie.
appsettings.json
Bevat configuratiegegevens, zoals verbindingsreeksen. Zie Configuratie in ASP.NET Corevoor meer informatie.
Program.cs
Bevat de volgende code:
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();
Met de volgende regels code in dit bestand maakt u een WebApplicationBuilder
met vooraf geconfigureerde standaardinstellingen, voegt u ondersteuning voor Razor Pagina's toe aan de afhankelijkheidsinjectiecontainer (DI)en bouwt u de app.
var builder = WebApplication.CreateBuilder(args);
// Add services to the container.
builder.Services.AddRazorPages();
var app = builder.Build();
De uitzonderingspagina voor ontwikkelaars is standaard ingeschakeld en biedt nuttige informatie over uitzonderingen. Productie-apps mogen niet worden uitgevoerd in de ontwikkelingsmodus omdat de uitzonderingspagina voor ontwikkelaars gevoelige informatie kan lekken.
Met de volgende code wordt het uitzonderingseindpunt ingesteld op /Error
en wordt HSTS - (HTTP Strict Transport Security Protocol) ingeschakeld wanneer de app niet wordt uitgevoerd in de ontwikkelmodus:
// 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();
}
De voorgaande code wordt bijvoorbeeld uitgevoerd wanneer de app zich in de productie- of testmodus bevindt. Zie Meerdere omgevingen gebruiken in ASP.NET Corevoor meer informatie.
De volgende code schakelt verschillende soorten middlewarein:
-
app.UseHttpsRedirection();
: stuurt HTTP-aanvragen om naar HTTPS. -
app.UseRouting();
: hiermee voegt u routekoppeling toe aan de middleware-pijplijn. Zie Routering in ASP.NET Corevoor meer informatie. -
app.UseAuthorization();
: geeft een gebruiker toestemming om toegang te krijgen tot beveiligde resources. Deze app gebruikt geen autorisatie, daarom kan deze regel worden verwijderd. -
app.MapRazorPages();
: Configureert endpoint-routing voor Razor pagina's. -
app.MapStaticAssets();
: optimaliseer de levering van statische assets in een app, zoals HTML, CSS, afbeeldingen en JavaScript. Zie Wat is er nieuw in ASP.NET Core 9.0voor meer informatie. -
app.Run();
: hiermee wordt de app uitgevoerd.
Problemen oplossen met het voltooide voorbeeld
Als u een probleem ondervindt dat u niet kunt oplossen, vergelijkt u de code met het voltooide project. Voltooid project weergeven of downloaden (hoe te downloaden).
Volgende stappen
Dit is de eerste zelfstudie van een reeks die de basisbeginselen leert van het bouwen van een ASP.NET Core Razor Pages-web-app.
Zie Inleiding tot Razor Pagina'svoor een meer geavanceerde inleiding voor ontwikkelaars die bekend zijn met controllers en weergaven. Zie voor een video-inleiding Entity Framework Core voor beginners.
Als u nieuw bent in de ontwikkeling van ASP.NET Core en niet zeker weet welke ASP.NET Core-webgebruikersinterfaceoplossing het beste aansluit bij uw behoeften, zie dan Een ASP.NET Core UIkiezen.
Aan het einde van deze zelfstudie hebt u een Razor Pages-web-app waarmee een database met films wordt beheerd.
Voorwaarden
Visual Studio 2022 met de ASP.NET- en webontwikkelingsworkload.
Een Razor Pages-web-app maken
Start Visual Studio en selecteer Nieuw project.
Selecteer in het dialoogvenster Een nieuw project makenASP.NET Core Web App (Razor Pagina's)>Volgende.
Voer in het dialoogvenster Configureer uw nieuwe project
RazorPagesMovie
in voor de Projectnaam. Het is belangrijk om het project een naam te geven RazorPagesMovie, inclusief overeenkomende hoofdletters, zodat de naamruimten overeenkomen wanneer u voorbeeldcode kopieert en plakt.Selecteer Volgende.
In het dialoogvenster Aanvullende informatie:
- Selecteer .NET 8.0 (Langetermijnondersteuning).
- Controleer: Gebruik geen instructies op het hoogste niveau is niet aangevinkt.
Selecteer Maak.
Het volgende startersproject wordt gemaakt:
Zie Een nieuw project maken in Visual Studiovoor alternatieve methoden voor het maken van het project.
De app uitvoeren
Selecteer RazorPagesMovie in Solution Explorer-en druk vervolgens op Ctrl+F5- om de app uit te voeren zonder het foutopsporingsprogramma.
Visual Studio geeft het volgende dialoogvenster weer wanneer een project nog niet is geconfigureerd voor het gebruik van SSL:
Selecteer Ja als u het IIS Express SSL-certificaat vertrouwt.
Het volgende dialoogvenster wordt weergegeven:
Selecteer Ja als u akkoord gaat met het vertrouwen van het ontwikkelingscertificaat.
Zie Firefox SEC_ERROR_INADEQUATE_KEY_USAGE certificaatfoutvoor meer informatie over het vertrouwen van de Firefox-browser.
Visual Studio:
- Hiermee wordt de app uitgevoerd, waarmee de server Kestrelwordt gestart.
- Hiermee start u de standaardbrowser op
https://localhost:<port>
, waarin de gebruikersinterface van de apps wordt weergegeven.<port>
is de willekeurige poort die wordt toegewezen toen de app werd gemaakt.
Sluit het browservenster.
De projectbestanden onderzoeken
De volgende secties bevatten een overzicht van de hoofdprojectmappen en bestanden waarmee u in latere zelfstudies gaat werken.
Map Pagina's
Bevat Razor pagina's en ondersteunende bestanden. Elke Razor pagina is een paar bestanden:
- Een
.cshtml
-bestand met HTML-markeringen met C#-code met behulp van Razor syntaxis. - Een
.cshtml.cs
-bestand met C#-code waarmee paginagebeurtenissen worden verwerkt.
Ondersteunende bestanden hebben namen die beginnen met een onderstrepingsteken. Het bestand _Layout.cshtml
configureert bijvoorbeeld UI-elementen die voor alle pagina's gebruikelijk zijn.
_Layout.cshtml
stelt het navigatiemenu bovenaan de pagina en de copyrightmelding onderaan de pagina in. Zie Indeling in ASP.NET Corevoor meer informatie.
wwwroot-folder
Bevat statische assets, zoals HTML-bestanden, JavaScript-bestanden en CSS-bestanden. Zie Statische bestanden in ASP.NET Corevoor meer informatie.
appsettings.json
Bevat configuratiegegevens, zoals verbindingsreeksen. Zie Configuratie in ASP.NET Corevoor meer informatie.
Program.cs
Bevat de volgende code:
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();
Met de volgende regels code in dit bestand maakt u een WebApplicationBuilder
met vooraf geconfigureerde standaardinstellingen, voegt u Razor Pagina's-ondersteuning toe aan de afhankelijkheidsinjectiecontainer (DI)en bouwt u de app:
var builder = WebApplication.CreateBuilder(args);
// Add services to the container.
builder.Services.AddRazorPages();
var app = builder.Build();
De uitzonderingspagina voor ontwikkelaars is standaard ingeschakeld en biedt nuttige informatie over uitzonderingen. Productie-apps mogen niet worden uitgevoerd in de ontwikkelingsmodus omdat de uitzonderingspagina voor ontwikkelaars gevoelige informatie kan lekken.
Met de volgende code wordt het uitzonderingseindpunt ingesteld op /Error
en wordt HSTS - (HTTP Strict Transport Security Protocol) ingeschakeld wanneer de app niet wordt uitgevoerd in de ontwikkelmodus:
// 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();
}
De voorgaande code wordt bijvoorbeeld uitgevoerd wanneer de app zich in de productie- of testmodus bevindt. Zie Meerdere omgevingen gebruiken in ASP.NET Corevoor meer informatie.
Met de volgende code worden verschillende Middleware-ingeschakeld:
-
app.UseHttpsRedirection();
: stuurt HTTP-aanvragen om naar HTTPS. -
app.UseStaticFiles();
: maakt het mogelijk om statische bestanden, zoals HTML, CSS, afbeeldingen en JavaScript, te verwerken. Zie Statische bestanden in ASP.NET Corevoor meer informatie. -
app.UseRouting();
: hiermee voegt u routekoppeling toe aan de middleware-pijplijn. Zie Routering in ASP.NET Core voor meer informatie -
app.MapRazorPages();
: configureert de eindpuntroutering voor Razor-pagina's. -
app.UseAuthorization();
: geeft een gebruiker toestemming om toegang te krijgen tot beveiligde resources. Deze app gebruikt geen autorisatie, daarom kan deze regel worden verwijderd. -
app.Run();
: hiermee wordt de app uitgevoerd.
Problemen oplossen met het voltooide voorbeeld
Als u een probleem ondervindt dat u niet kunt oplossen, vergelijkt u de code met het voltooide project. Voltooid project bekijken of downloaden (hoe te downloaden).
Volgende stappen
Dit is de eerste zelfstudie van een reeks die de basisbeginselen leert van het bouwen van een ASP.NET Core Razor Pages-web-app.
Zie Inleiding tot Razor Pagina'svoor een geavanceerdere inleiding gericht op ontwikkelaars die bekend zijn met controllers en views. Zie voor een video-inleiding Entity Framework Core voor beginners.
Als u nieuw bent bij ASP.NET Core-ontwikkeling en niet zeker weet welke ASP.NET Core-webgebruikersinterfaceoplossing het beste aansluit bij uw behoeften, zie Een ASP.NET Core UI kiezen.
Aan het einde van deze zelfstudie hebt u een Razor Pages-web-app waarmee een database met films wordt beheerd.
Voorwaarden
Visual Studio 2022 met de ASP.NET- en webontwikkelingsworkload.
Een Razor Pages-web-app maken
Start Visual Studio en selecteer Een nieuw project maken.
Selecteer in het dialoogvenster Een nieuw project makenASP.NET Core Web App>Volgende.
Voer in het dialoogvenster Configureer uw nieuwe project
RazorPagesMovie
in als Projectnaam. Het is belangrijk om het project een naam te geven RazorPagesMovie, inclusief overeenkomende hoofdletters, zodat de naamruimten overeenkomen wanneer u voorbeeldcode kopieert en plakt.Selecteer Volgende.
In het dialoogvenster Aanvullende informatie:
- Selecteer .NET 7.0 (Standaard Term Ondersteuning).
- Controleer: Gebruik geen instructies op het hoogste niveau is niet aangevinkt.
Selecteer maken.
Het volgende startersproject wordt gemaakt:
Zie Een nieuw project maken in Visual Studiovoor alternatieve methoden voor het maken van het project.
De app uitvoeren
Selecteer RazorPagesMovie in Solution Explorer-en druk vervolgens op Ctrl+F5- om de app uit te voeren zonder het foutopsporingsprogramma.
Visual Studio geeft het volgende dialoogvenster weer wanneer een project nog niet is geconfigureerd voor het gebruik van SSL:
Selecteer Ja als u het IIS Express SSL-certificaat vertrouwt.
Het volgende dialoogvenster wordt weergegeven:
Selecteer Ja als u akkoord gaat met het vertrouwen van het ontwikkelingscertificaat.
Zie Firefox SEC_ERROR_INADEQUATE_KEY_USAGE certificaatfoutvoor meer informatie over het vertrouwen van de Firefox-browser.
Visual Studio:
- Door de app uit te voeren, wordt de Kestrel-servergestart.
- Hiermee start u de standaardbrowser op
https://localhost:<port>
, waarin de gebruikersinterface van de apps wordt weergegeven.<port>
is de willekeurige poort die wordt toegewezen toen de app werd gemaakt.
Sluit het browservenster.
De projectbestanden onderzoeken
De volgende secties bevatten een overzicht van de hoofdprojectmappen en bestanden waarmee u in latere zelfstudies gaat werken.
Paginamap
Bevat Razor pagina's en ondersteunende bestanden. Elke Razor pagina is een paar bestanden:
- Een
.cshtml
-bestand met HTML-markeringen met C#-code met behulp van Razor syntaxis. - Een
.cshtml.cs
-bestand met C#-code waarmee paginagebeurtenissen worden verwerkt.
Ondersteunende bestanden hebben namen die beginnen met een onderstrepingsteken. Het bestand _Layout.cshtml
configureert bijvoorbeeld UI-elementen die voor alle pagina's gebruikelijk zijn.
_Layout.cshtml
stelt het navigatiemenu bovenaan de pagina en de copyrightmelding onderaan de pagina in. Zie Indeling in ASP.NET Corevoor meer informatie.
wwwroot-map
Bevat statische assets, zoals HTML-bestanden, JavaScript-bestanden en CSS-bestanden. Zie Statische bestanden in ASP.NET Corevoor meer informatie.
appsettings.json
Bevat configuratiegegevens, zoals verbindingsreeksen. Zie Configuratie in ASP.NET Corevoor meer informatie.
Program.cs
Bevat de volgende code:
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();
Met de volgende regels code in dit bestand maakt u een WebApplicationBuilder
met vooraf geconfigureerde standaardinstellingen, voegt u ondersteuning voor Razor pagina's toe aan de afhankelijkheidsinjectiecontainer (DI)en bouwt u de app.
var builder = WebApplication.CreateBuilder(args);
// Add services to the container.
builder.Services.AddRazorPages();
var app = builder.Build();
De uitzonderingspagina voor ontwikkelaars is standaard ingeschakeld en biedt nuttige informatie over uitzonderingen. Productie-apps mogen niet worden uitgevoerd in de ontwikkelingsmodus omdat de uitzonderingspagina voor ontwikkelaars gevoelige informatie kan lekken.
Met de volgende code wordt het uitzonderingseindpunt ingesteld op /Error
en wordt HSTS - (HTTP Strict Transport Security Protocol) ingeschakeld wanneer de app niet wordt uitgevoerd in de ontwikkelmodus:
// 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();
}
De voorgaande code wordt bijvoorbeeld uitgevoerd wanneer de app zich in de productie- of testmodus bevindt. Zie Meerdere omgevingen gebruiken in ASP.NET Corevoor meer informatie.
Met de volgende code worden verschillende Middleware-ingeschakeld:
-
app.UseHttpsRedirection();
: stuurt HTTP-aanvragen om naar HTTPS. -
app.UseStaticFiles();
: maakt het mogelijk om statische bestanden, zoals HTML, CSS, afbeeldingen en JavaScript, te verwerken. Zie Statische bestanden in ASP.NET Corevoor meer informatie. -
app.UseRouting();
: hiermee voegt u routekoppeling toe aan de middleware-pijplijn. Zie Routering in ASP.NET Core voor meer informatie -
app.MapRazorPages();
: Hiermee configureert u de eindpuntroutering voor de Razor Pagina's. -
app.UseAuthorization();
: geeft een gebruiker toestemming om toegang te krijgen tot beveiligde resources. Deze app gebruikt geen autorisatie, daarom kan deze regel worden verwijderd. -
app.Run();
: hiermee wordt de app uitgevoerd.
Problemen oplossen met het voltooide voorbeeld
Als u een probleem ondervindt dat u niet kunt oplossen, vergelijkt u de code met het voltooide project. Afgerond project weergeven of downloaden (hoe te downloaden).
Volgende stappen
Dit is de eerste zelfstudie van een reeks die de basisbeginselen leert van het bouwen van een ASP.NET Core Razor Pages-web-app.
Zie Inleiding tot Razor Pagina'sals je een meer geavanceerde introductie zoekt, gericht op ontwikkelaars die bekend zijn met controllers en views. Zie voor een video-inleiding Entity Framework Core voor beginners.
Als u nieuw bent in de ontwikkeling van ASP.NET Core en niet zeker weet welke ASP.NET Core web-UI-oplossing het beste aan uw behoeften voldoet, zie dan Een ASP.NET Core UIkiezen.
Aan het einde van de serie hebt u een app waarmee een database met films wordt beheerd.
In deze zelfstudie gaat u het volgende doen:
- Een Razor Pages-web-app maken.
- Voer de app uit.
- Bekijk de projectbestanden.
Aan het einde van deze zelfstudie hebt u een werkende Razor Pages-web-app die u in latere zelfstudies gaat verbeteren.
Voorwaarden
- Visual Studio 2022 met de workload voor ASP.NET en webontwikkeling.
- .NET 6.0 SDK
Een Razor Pages-web-app maken
Start Visual Studio 2022 en selecteer Een nieuw project maken.
Selecteer in het dialoogvenster Een nieuw project makenASP.NET Core Web Appen selecteer vervolgens Volgende.
Voer in het dialoogvenster Configure your new project
RazorPagesMovie
in voor projectnaam. Het is belangrijk om het project een naam te geven RazorPagesMovie, inclusief overeenkomende hoofdletters, zodat de naamruimten overeenkomen wanneer u voorbeeldcode kopieert en plakt.Selecteer Volgende.
Selecteer in het dialoogvenster Aanvullende informatie.NET 6.0 (Langdurige ondersteuning) en selecteer vervolgens Maken.
Het volgende startersproject wordt gemaakt:
De app uitvoeren
Selecteer RazorPagesMovie- in Solution Explorer-en druk op Ctrl+F5 om zonder foutopsporingsprogramma uit te voeren.
Visual Studio geeft het volgende dialoogvenster weer wanneer een project nog niet is geconfigureerd voor het gebruik van SSL:
Selecteer Ja als u het IIS Express SSL-certificaat vertrouwt.
Het volgende dialoogvenster wordt weergegeven:
Selecteer Ja als u akkoord gaat met het vertrouwen van het ontwikkelingscertificaat.
Zie Firefox SEC_ERROR_INADEQUATE_KEY_USAGE certificaatfoutvoor meer informatie over het vertrouwen van de Firefox-browser.
Visual Studio:
- Hiermee wordt de app uitgevoerd, waarmee de Kestrel-server wordt gestart.
- Hiermee start u de standaardbrowser op
https://localhost:5001
, waarin de gebruikersinterface van de apps wordt weergegeven.
De projectbestanden onderzoeken
De volgende secties bevatten een overzicht van de hoofdprojectmappen en bestanden waarmee u in latere zelfstudies gaat werken.
Map Pagina's
Bevat Razor pagina's en ondersteunende bestanden. Elke Razor pagina is een paar bestanden:
- Een
.cshtml
-bestand met HTML-markeringen met C#-code met behulp van Razor syntaxis. - Een
.cshtml.cs
-bestand met C#-code waarmee paginagebeurtenissen worden verwerkt.
Ondersteunende bestanden hebben namen die beginnen met een onderstrepingsteken. Het bestand _Layout.cshtml
configureert bijvoorbeeld UI-elementen die voor alle pagina's gebruikelijk zijn. Met dit bestand stelt u het navigatiemenu boven aan de pagina en de copyrightmelding onder aan de pagina in. Zie Indeling in ASP.NET Corevoor meer informatie.
wwwroot-map
Bevat statische assets, zoals HTML-bestanden, JavaScript-bestanden en CSS-bestanden. Zie Statische bestanden in ASP.NET Corevoor meer informatie.
appsettings.json
Bevat configuratiegegevens, zoals verbindingsreeksen. Zie Configuratie in ASP.NET Corevoor meer informatie.
Program.cs
Bevat de volgende code:
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();
Met de volgende regels code in dit bestand maakt u een WebApplicationBuilder
met vooraf geconfigureerde standaardinstellingen, voegt u Razor Pages-ondersteuning toe aan de Afhankelijkheidsinjectiecontainer (DI)en bouwt u de app:
var builder = WebApplication.CreateBuilder(args);
// Add services to the container.
builder.Services.AddRazorPages();
var app = builder.Build();
De uitzonderingspagina voor ontwikkelaars is standaard ingeschakeld en biedt nuttige informatie over uitzonderingen. Productie-apps mogen niet worden uitgevoerd in de ontwikkelingsmodus omdat de uitzonderingspagina voor ontwikkelaars gevoelige informatie kan lekken.
Met de volgende code wordt het uitzonderingseindpunt ingesteld op /Error
en wordt HSTS - (HTTP Strict Transport Security Protocol) ingeschakeld wanneer de app niet wordt uitgevoerd in de ontwikkelmodus:
// 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();
}
De voorgaande code wordt bijvoorbeeld uitgevoerd wanneer de app zich in de productie- of testmodus bevindt. Zie Meerdere omgevingen gebruiken in ASP.NET Corevoor meer informatie.
Met de volgende code worden verschillende Middlewareingeschakeld:
-
app.UseHttpsRedirection();
: stuurt HTTP-aanvragen om naar HTTPS. -
app.UseStaticFiles();
: maakt het mogelijk om statische bestanden, zoals HTML, CSS, afbeeldingen en JavaScript, te verwerken. Zie Statische bestanden in ASP.NET Corevoor meer informatie. -
app.UseRouting();
: hiermee voegt u routekoppeling toe aan de middleware-pijplijn. Zie Routering in ASP.NET Core voor meer informatie -
app.MapRazorPages();
: hiermee configureert u eindpuntroutering voor Razor Pagina's. -
app.UseAuthorization();
: geeft een gebruiker toestemming om toegang te krijgen tot beveiligde resources. Deze app gebruikt geen autorisatie, daarom kan deze regel worden verwijderd. -
app.Run();
: hiermee wordt de app uitgevoerd.
Problemen oplossen met het voltooide voorbeeld
Als u een probleem ondervindt dat u niet kunt oplossen, vergelijkt u de code met het voltooide project. Voltooid project weergeven of downloaden (hoe te downloaden).
Volgende stappen
Dit is de eerste zelfstudie van een reeks die de basisbeginselen leert van het bouwen van een ASP.NET Core Razor Pages-web-app.
Zie Inleiding tot Razor Pagina'svoor een inleiding die gericht is op ontwikkelaars die bekend zijn met controllers en views en die wat geavanceerder is.
Als u nieuw bent in de ontwikkeling van ASP.NET Core en niet zeker weet welke ASP.NET Core-webgebruikersinterfaceoplossing het beste bij uw behoeften past, zie dan Een ASP.NET Core UIkiezen.
Aan het einde van de serie hebt u een app waarmee een database met films wordt beheerd.
In deze zelfstudie gaat u het volgende doen:
- Een Razor Pages-web-app maken.
- Voer de app uit.
- Bekijk de projectbestanden.
Aan het einde van deze zelfstudie hebt u een werkende Razor Pages-web-app die u in latere zelfstudies gaat verbeteren.
Voorwaarden
- Visual Studio 2019 16.8 of hoger met de ASP.NET- en webontwikkelingsworkload
- .NET 5.0 SDK
Een Razor Pages-web-app maken
Start Visual Studio en selecteer Een nieuw project maken. Zie Een nieuw project maken in Visual Studiovoor meer informatie.
In het dialoogvenster Een nieuw project maken, selecteer ASP.NET Core-webtoepassingen selecteer vervolgens Volgende.
In het Configureren van je nieuwe project dialoogvenster voer je
RazorPagesMovie
in voor Projectnaam. Het is belangrijk om het project een naam te geven RazorPagesMovie, inclusief overeenkomende hoofdletters, zodat de naamruimten overeenkomen wanneer u voorbeeldcode kopieert en plakt.Selecteer Maak.
Selecteer in het dialoogvenster Een nieuwe ASP.NET Core-webtoepassing maken:
- .NET Core en ASP.NET Core 5.0 in de vervolgkeuzelijsten.
- webtoepassing.
- maken.
Het volgende startersproject wordt gemaakt:
De app uitvoeren
Druk op Ctrl+F5 om uit te voeren zonder het foutopsporingsprogramma.
Visual Studio geeft het volgende dialoogvenster weer wanneer een project nog niet is geconfigureerd voor het gebruik van SSL:
Selecteer Ja als u het IIS Express SSL-certificaat vertrouwt.
Het volgende dialoogvenster wordt weergegeven:
Selecteer Ja als u akkoord gaat met het vertrouwen van het ontwikkelingscertificaat.
Zie Firefox SEC_ERROR_INADEQUATE_KEY_USAGE certificaatfoutvoor meer informatie over het vertrouwen van de Firefox-browser.
Visual Studio start IIS Express en voert de app uit. De adresbalk toont
localhost:port#
en niet iets alsexample.com
. Dat komt doordatlocalhost
de standaardhostnaam is voor de lokale computer. Localhost dient alleen webaanvragen van de lokale computer. Wanneer Visual Studio een webproject maakt, wordt er een willekeurige poort gebruikt voor de webserver.
De projectbestanden onderzoeken
Hier volgt een overzicht van de belangrijkste projectmappen en bestanden waarmee u in latere zelfstudies gaat werken.
Paginamap
Bevat Razor pagina's en ondersteunende bestanden. Elke Razor pagina is een paar bestanden:
- Een
.cshtml
-bestand met HTML-markeringen met C#-code met behulp van Razor syntaxis. - Een
.cshtml.cs
-bestand met C#-code waarmee paginagebeurtenissen worden verwerkt.
Ondersteunende bestanden hebben namen die beginnen met een onderstrepingsteken. Het bestand _Layout.cshtml
configureert bijvoorbeeld UI-elementen die voor alle pagina's gebruikelijk zijn. Met dit bestand stelt u het navigatiemenu boven aan de pagina en de copyrightmelding onder aan de pagina in. Zie Indeling in ASP.NET Corevoor meer informatie.
wwwroot-map
Bevat statische assets, zoals HTML-bestanden, JavaScript-bestanden en CSS-bestanden. Zie Statische bestanden in ASP.NET Corevoor meer informatie.
appsettings.json
Bevat configuratiegegevens, zoals verbindingsreeksen. Zie Configuratie in ASP.NET Corevoor meer informatie.
Program.cs
Bevat het toegangspunt voor de app. Zie .NET Generic Host in ASP.NET Corevoor meer informatie.
Startup.cs
Bevat code waarmee app-gedrag wordt geconfigureerd. Zie App opstarten in ASP.NET Corevoor meer informatie.
Problemen oplossen met het voltooide voorbeeld
Als u een probleem ondervindt dat u niet kunt oplossen, vergelijkt u de code met het voltooide project. Voltooid project bekijken of downloaden (hoe te downloaden).
Volgende stappen
Dit is de eerste zelfstudie van een reeks die de basisbeginselen leert van het bouwen van een ASP.NET Core Razor Pages-web-app.
Zie Inleiding tot Razor Pagina'svoor een meer geavanceerde introductie die gericht is op ontwikkelaars die bekend zijn met controllers en views.
Aan het einde van de serie hebt u een app waarmee een database met films wordt beheerd.
voorbeeldcode weergeven of downloaden (hoe te downloaden).
In deze zelfstudie gaat u het volgende doen:
- Een Razor Pages-web-app maken.
- Voer de app uit.
- Bekijk de projectbestanden.
Aan het einde van deze zelfstudie hebt u een werkende Razor Pages-web-app die u verderop in zelfstudies gaat gebruiken.
Voorwaarden
- Visual Studio 2019 16.4 of hoger met de ASP.NET- en webontwikkelingsworkload
- .NET Core 3.1 SDK
Een Razor Pages-web-app maken
Selecteer in het Visual Studio-menu Bestand Nieuw>Project.
Maak een nieuwe ASP.NET Core-webtoepassing en selecteer Volgende.
Noem het project RazorPagesMovie. Het is belangrijk om het project een naam te geven RazorPagesMovie zodat de naamruimten overeenkomen wanneer u code kopieert en plakt.
Selecteer ASP.NET Core 3.1 in de vervolgkeuzelijst, Webtoepassing, en selecteer vervolgens Maken.
Het volgende startersproject wordt gemaakt:
De app uitvoeren
Druk op Ctrl+F5 om uit te voeren zonder het foutopsporingsprogramma.
Visual Studio geeft het volgende dialoogvenster weer wanneer een project nog niet is geconfigureerd voor het gebruik van SSL:
Selecteer Ja als u het IIS Express SSL-certificaat vertrouwt.
Het volgende dialoogvenster wordt weergegeven:
Selecteer Ja als u akkoord gaat met het vertrouwen van het ontwikkelingscertificaat.
Zie Firefox SEC_ERROR_INADEQUATE_KEY_USAGE certificaatfoutvoor meer informatie over het vertrouwen van de Firefox-browser.
Visual Studio startt IIS Express en voert de app uit. De adresbalk toont
localhost:port#
en niet iets alsexample.com
. Dat komt doordatlocalhost
de standaardhostnaam is voor de lokale computer. Localhost dient alleen webaanvragen van de lokale computer. Wanneer Visual Studio een webproject maakt, wordt er een willekeurige poort gebruikt voor de webserver.
De projectbestanden onderzoeken
Hier volgt een overzicht van de belangrijkste projectmappen en bestanden waarmee u in latere zelfstudies gaat werken.
Paginamap
Bevat Razor pagina's en ondersteunende bestanden. Elke Razor pagina is een paar bestanden:
- Een
.cshtml
-bestand met HTML-markeringen met C#-code met behulp van Razor syntaxis. - Een
.cshtml.cs
-bestand met C#-code waarmee paginagebeurtenissen worden verwerkt.
Ondersteunende bestanden hebben namen die beginnen met een onderstrepingsteken. Het bestand _Layout.cshtml
configureert bijvoorbeeld UI-elementen die voor alle pagina's gebruikelijk zijn. Met dit bestand stelt u het navigatiemenu boven aan de pagina en de copyrightmelding onder aan de pagina in. Zie Indeling in ASP.NET Corevoor meer informatie.
wwwroot-folder
Bevat statische bestanden, zoals HTML-bestanden, JavaScript-bestanden en CSS-bestanden. Zie Statische bestanden in ASP.NET Corevoor meer informatie.
appSettings.json
Bevat configuratiegegevens, zoals verbindingsreeksen. Zie Configuratie in ASP.NET Corevoor meer informatie.
Program.cs
Bevat het toegangspunt voor het programma. Zie .NET Generic Host in ASP.NET Corevoor meer informatie.
Startup.cs
Bevat code waarmee app-gedrag wordt geconfigureerd. Zie App opstarten in ASP.NET Corevoor meer informatie.