Dela via


Självstudie: Kom igång med Razor Pages i ASP.NET Core

Note

Det här är inte den senaste versionen av den här artikeln. För den nuvarande utgåvan, se .NET 9-versionen av den här artikeln .

Warning

Den här versionen av ASP.NET Core stöds inte längre. Mer information finns i supportpolicyn för .NET och .NET Core. För den nuvarande utgåvan, se .NET 9-versionen av den här artikeln .

Important

Den här informationen gäller en förhandsversionsprodukt som kan ändras avsevärt innan den släpps kommersiellt. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, med avseende på den information som tillhandahålls här.

För den nuvarande utgåvan, se .NET 9-versionen av den här artikeln .

Av Rick Anderson

Det här är den första handledningen i en serie som lär dig grunderna i att skapa en ASP.NET Core Razor webbapp med Pages.

En mer avancerad introduktion till utvecklare som är bekanta med kontrollanter och vyer finns i Introduktion till Razor sidor. En videointroduktion finns i Entity Framework Core för nybörjare.

Om du är nybörjare på att ASP.NET Core-utveckling och är osäker på vilken ASP.NET Core-webbgränssnittslösning som passar bäst för dina behov kan du läsa Välj ett ASP.NET Core-användargränssnitt.

I slutet av den här självstudien har du en Razor Pages-webbapp som hanterar en databas med filmer.

Home eller startsida/indexsida

Prerequisites

Skapa en Razor Pages-webbapp

  • Starta Visual Studio och välj Nytt projekt.

  • I dialogrutan Skapa ett nytt projekt väljer du ASP.NET Core Web App (Razor Sidor)>Nästa.

  • I dialogrutan Konfigurera det nya projektet anger du RazorPagesMovie som Projektnamn. Det är viktigt att ge projektet namnet RazorPagesMovie, inklusive att matcha versaler, så att namnrymderna matchar när du kopierar och klistrar in exempelkod.

  • Välj Nästa.

  • I dialogrutan Ytterligare information :

    • Välj .NET 9.0.
    • Kontrollera: Använd inte toppnivåinstruktioner är avmarkerat.
  • Välj Skapa.

    Ytterligare information

    Följande startprojekt skapas:

    Solution Explorer

Alternativa metoder för att skapa projektet finns i Skapa ett nytt projekt i Visual Studio.

Kör appen

Välj RazorPagesMovie i Solution Explorer och tryck sedan på Ctrl+F5 för att köra appen utan felsökningsprogrammet.

Visual Studio visar följande dialogruta när ett projekt ännu inte har konfigurerats för att använda SSL:

Det här projektet är konfigurerat för att använda SSL. För att undvika SSL-varningar i webbläsaren kan du välja att lita på det självsignerade certifikat som IIS Express har genererat. Vill du lita på IIS Express SSL-certifikatet?

Välj Ja om du litar på IIS Express SSL-certifikatet.

Följande dialogruta visas:

Dialogrutan Säkerhetsvarning

Välj Ja om du samtycker till att lita på utvecklingscertifikatet.

Information om hur du kan lita på Firefox-webbläsaren finns i Firefox SEC_ERROR_INADEQUATE_KEY_USAGE certifikatfel.

Visual Studio:

  • Kör appen, som startar Kestrel servern.
  • Startar standardwebbläsaren på https://localhost:<port>, som visar appgränssnittet. <port> är den slumpmässiga port som tilldelas när appen skapades.

Stäng webbläsarfönstret.

Granska projektfilerna

Följande avsnitt innehåller en översikt över de viktigaste projektmapparna och filerna som du kommer att arbeta med i senare självstudier.

Sidmapp

Innehåller Razor sidor och medföljande filer. Varje Razor sida är ett par filer:

  • En .cshtml-fil som har HTML-kod och C#-kod i Razor-syntax.
  • En .cshtml.cs fil med C#-kod som hanterar sidhändelser.

Stödfiler har namn som börjar med ett understreck. Till exempel konfigurerar _Layout.cshtml-filen gränssnittselement som är gemensamma för alla sidor. _Layout.cshtml ställer in navigeringsmenyn överst på sidan och copyrightmeddelandet längst ned på sidan. Mer information finns i Layout i ASP.NET Core.

wwwroot-mapp

Innehåller statiska tillgångar, till exempel HTML-filer, JavaScript-filer och CSS-filer. Mer information finns i Statiska filer i ASP.NET Core.

appsettings.json

Innehåller konfigurationsdata, till exempel anslutningssträngar. Mer information finns i Konfiguration i ASP.NET Core.

Program.cs

Innehåller följande kod:

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();

Följande kodrader i den här filen skapar en WebApplicationBuilder med förkonfigurerade standardvärden, lägger till Razor sidsupport i Dependency Injection (DI)-behållare och skapar appen:

var builder = WebApplication.CreateBuilder(args);

// Add services to the container.
builder.Services.AddRazorPages();

var app = builder.Build();

Undantagssidan för utvecklare är aktiverad som standard och innehåller användbar information om undantag. Produktionsappar bör inte köras i utvecklingsläge eftersom undantagssidan för utvecklare kan läcka känslig information.

Följande kod anger undantagsslutpunkten till /Error och aktiverar HTTP Strict Transport Security Protocol (HSTS) när appen inte körs i utvecklingsläge:

// 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();
}

Till exempel körs föregående kod när appen är i produktions- eller testläge. Mer information finns i Använda flera miljöer i ASP.NET Core.

Följande kod aktiverar olika mellanprogram:

  • app.UseHttpsRedirection();: Omdirigerar HTTP-begäranden till HTTPS.
  • app.UseRouting();: Lägger till routningsmatchning i pipelinen för mellanprogram. Mer information finns i Routning i ASP.NET Core.
  • app.UseAuthorization(); : Auktoriserar en användare att komma åt säkra resurser. Den här appen använder inte auktorisering, därför kan den här raden tas bort.
  • app.MapRazorPages();: Konfigurerar slutpunktsroutning för Razor Pages.
  • app.MapStaticAssets();: Optimera leveransen av statiska tillgångar i en app, till exempel HTML, CSS, bilder och JavaScript. Mer information finns i Nyheter i ASP.NET Core i .NET 9.
  • app.Run(); : Kör appen.

Felsökning med det slutförda exemplet

Om du stöter på ett problem som du inte kan lösa kan du jämföra koden med det slutförda projektet. Visa eller ladda ned slutfört projekt (ladda ned).

Nästa steg

Det här är den första handledningen i en serie som lär dig grunderna i att skapa en ASP.NET Core Razor webbapp med Pages.

En mer avancerad introduktion till utvecklare som är bekanta med kontrollanter och vyer finns i Introduktion till Razor sidor. En videointroduktion finns i Entity Framework Core för nybörjare.

Om du är nybörjare på att ASP.NET Core-utveckling och är osäker på vilken ASP.NET Core-webbgränssnittslösning som passar bäst för dina behov kan du läsa Välj ett ASP.NET Core-användargränssnitt.

I slutet av den här självstudien har du en Razor Pages-webbapp som hanterar en databas med filmer.

Home eller startsida/indexsida

Prerequisites

Skapa en Razor Pages-webbapp

  • Starta Visual Studio och välj Nytt projekt.

  • I dialogrutan Skapa ett nytt projekt väljer du ASP.NET Core Web App (Razor Sidor)>Nästa.

  • I dialogrutan Konfigurera det nya projektet anger du RazorPagesMovie som Projektnamn. Det är viktigt att ge projektet namnet RazorPagesMovie, inklusive att matcha versaler, så att namnrymderna matchar när du kopierar och klistrar in exempelkod.

  • Välj Nästa.

  • I dialogrutan Ytterligare information :

    • Välj .NET 8.0 (långsiktig support).
    • Kontrollera: Använd inte toppnivåinstruktioner är avmarkerat.
  • Välj Skapa.

    Ytterligare information

    Följande startprojekt skapas:

    Solution Explorer

Alternativa metoder för att skapa projektet finns i Skapa ett nytt projekt i Visual Studio.

Kör appen

Välj RazorPagesMovie i Solution Explorer och tryck sedan på Ctrl+F5 för att köra appen utan felsökningsprogrammet.

Visual Studio visar följande dialogruta när ett projekt ännu inte har konfigurerats för att använda SSL:

Det här projektet är konfigurerat för att använda SSL. För att undvika SSL-varningar i webbläsaren kan du välja att lita på det självsignerade certifikat som IIS Express har genererat. Vill du lita på IIS Express SSL-certifikatet?

Välj Ja om du litar på IIS Express SSL-certifikatet.

Följande dialogruta visas:

Dialogrutan Säkerhetsvarning

Välj Ja om du samtycker till att lita på utvecklingscertifikatet.

Information om hur du kan lita på Firefox-webbläsaren finns i Firefox SEC_ERROR_INADEQUATE_KEY_USAGE certifikatfel.

Visual Studio:

  • Kör appen, som startar Kestrel servern.
  • Startar standardwebbläsaren på https://localhost:<port>, som visar appgränssnittet. <port> är den slumpmässiga port som tilldelas när appen skapades.

Stäng webbläsarfönstret.

Granska projektfilerna

Följande avsnitt innehåller en översikt över de viktigaste projektmapparna och filerna som du kommer att arbeta med i senare självstudier.

Sidmapp

Innehåller Razor sidor och medföljande filer. Varje Razor sida är ett par filer:

  • En .cshtml-fil som har HTML-kod och C#-kod i Razor-syntax.
  • En .cshtml.cs fil med C#-kod som hanterar sidhändelser.

Stödfiler har namn som börjar med ett understreck. Till exempel konfigurerar _Layout.cshtml-filen gränssnittselement som är gemensamma för alla sidor. _Layout.cshtml ställer in navigeringsmenyn överst på sidan och copyrightmeddelandet längst ned på sidan. Mer information finns i Layout i ASP.NET Core.

wwwroot-mapp

Innehåller statiska tillgångar, till exempel HTML-filer, JavaScript-filer och CSS-filer. Mer information finns i Statiska filer i ASP.NET Core.

appsettings.json

Innehåller konfigurationsdata, till exempel anslutningssträngar. Mer information finns i Konfiguration i ASP.NET Core.

Program.cs

Innehåller följande kod:

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();

Följande kodrader i den här filen skapar en WebApplicationBuilder med förkonfigurerade standardvärden, lägger till Razor sidsupport i Dependency Injection (DI)-behållare och skapar appen:

var builder = WebApplication.CreateBuilder(args);

// Add services to the container.
builder.Services.AddRazorPages();

var app = builder.Build();

Undantagssidan för utvecklare är aktiverad som standard och innehåller användbar information om undantag. Produktionsappar bör inte köras i utvecklingsläge eftersom undantagssidan för utvecklare kan läcka känslig information.

Följande kod anger undantagsslutpunkten till /Error och aktiverar HTTP Strict Transport Security Protocol (HSTS) när appen inte körs i utvecklingsläge:

// 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();
}

Till exempel körs föregående kod när appen är i produktions- eller testläge. Mer information finns i Använda flera miljöer i ASP.NET Core.

Följande kod aktiverar olika mellanprogram:

  • app.UseHttpsRedirection();: Omdirigerar HTTP-begäranden till HTTPS.
  • app.UseStaticFiles();: Gör att statiska filer som HTML, CSS, bilder och JavaScript kan hanteras. Mer information finns i Statiska filer i ASP.NET Core.
  • app.UseRouting();: Lägger till routningsmatchning i pipelinen för mellanprogram. Mer information finns i Routning i ASP.NET Core
  • app.MapRazorPages();: Konfigurerar slutpunktsroutning för Razor Pages.
  • app.UseAuthorization(); : Auktoriserar en användare att komma åt säkra resurser. Den här appen använder inte auktorisering, därför kan den här raden tas bort.
  • app.Run(); : Kör appen.

Felsökning med det slutförda exemplet

Om du stöter på ett problem som du inte kan lösa kan du jämföra koden med det slutförda projektet. Visa eller ladda ned slutfört projekt (ladda ned).

Nästa steg

Det här är den första handledningen i en serie som lär dig grunderna i att skapa en ASP.NET Core Razor webbapp med Pages.

En mer avancerad introduktion till utvecklare som är bekanta med kontrollanter och vyer finns i Introduktion till Razor sidor. En videointroduktion finns i Entity Framework Core för nybörjare.

Om du är nybörjare på att ASP.NET Core-utveckling och är osäker på vilken ASP.NET Core-webbgränssnittslösning som passar bäst för dina behov kan du läsa Välj ett ASP.NET Core-användargränssnitt.

I slutet av den här självstudien har du en Razor Pages-webbapp som hanterar en databas med filmer.

Home eller startsida/indexsida

Prerequisites

Skapa en Razor Pages-webbapp

  • Starta Visual Studio och välj Skapa ett nytt projekt.

  • I dialogrutan Skapa ett nytt projekt väljer du ASP.NET Core Web App>Next.

  • I dialogrutan Konfigurera det nya projektet anger du RazorPagesMovie som Projektnamn. Det är viktigt att ge projektet namnet RazorPagesMovie, inklusive att matcha versaler, så att namnrymderna matchar när du kopierar och klistrar in exempelkod.

  • Välj Nästa.

  • I dialogrutan Ytterligare information :

    • Välj .NET 7.0 (Standard Term Support).
    • Kontrollera: Använd inte toppnivåinstruktioner är avmarkerat.
  • Välj Skapa.

    Ytterligare information

    Följande startprojekt skapas:

    Solution Explorer

Alternativa metoder för att skapa projektet finns i Skapa ett nytt projekt i Visual Studio.

Kör appen

Välj RazorPagesMovie i Solution Explorer och tryck sedan på Ctrl+F5 för att köra appen utan felsökningsprogrammet.

Visual Studio visar följande dialogruta när ett projekt ännu inte har konfigurerats för att använda SSL:

Det här projektet är konfigurerat för att använda SSL. För att undvika SSL-varningar i webbläsaren kan du välja att lita på det självsignerade certifikat som IIS Express har genererat. Vill du lita på IIS Express SSL-certifikatet?

Välj Ja om du litar på IIS Express SSL-certifikatet.

Följande dialogruta visas:

Dialogrutan Säkerhetsvarning

Välj Ja om du samtycker till att lita på utvecklingscertifikatet.

Information om hur du kan lita på Firefox-webbläsaren finns i Firefox SEC_ERROR_INADEQUATE_KEY_USAGE certifikatfel.

Visual Studio:

  • Kör appen, som startar Kestrel servern.
  • Startar standardwebbläsaren på https://localhost:<port>, som visar appgränssnittet. <port> är den slumpmässiga port som tilldelas när appen skapades.

Stäng webbläsarfönstret.

Granska projektfilerna

Följande avsnitt innehåller en översikt över de viktigaste projektmapparna och filerna som du kommer att arbeta med i senare självstudier.

Sidmapp

Innehåller Razor sidor och medföljande filer. Varje Razor sida är ett par filer:

  • En .cshtml-fil som har HTML-kod och C#-kod i Razor-syntax.
  • En .cshtml.cs fil med C#-kod som hanterar sidhändelser.

Stödfiler har namn som börjar med ett understreck. Till exempel konfigurerar _Layout.cshtml-filen gränssnittselement som är gemensamma för alla sidor. _Layout.cshtml ställer in navigeringsmenyn överst på sidan och copyrightmeddelandet längst ned på sidan. Mer information finns i Layout i ASP.NET Core.

wwwroot-mapp

Innehåller statiska tillgångar, till exempel HTML-filer, JavaScript-filer och CSS-filer. Mer information finns i Statiska filer i ASP.NET Core.

appsettings.json

Innehåller konfigurationsdata, till exempel anslutningssträngar. Mer information finns i Konfiguration i ASP.NET Core.

Program.cs

Innehåller följande kod:

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();

Följande kodrader i den här filen skapar en WebApplicationBuilder med förkonfigurerade standardvärden, lägger till Razor sidsupport i Dependency Injection (DI)-behållare och skapar appen:

var builder = WebApplication.CreateBuilder(args);

// Add services to the container.
builder.Services.AddRazorPages();

var app = builder.Build();

Undantagssidan för utvecklare är aktiverad som standard och innehåller användbar information om undantag. Produktionsappar bör inte köras i utvecklingsläge eftersom undantagssidan för utvecklare kan läcka känslig information.

Följande kod anger undantagsslutpunkten till /Error och aktiverar HTTP Strict Transport Security Protocol (HSTS) när appen inte körs i utvecklingsläge:

// 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();
}

Till exempel körs föregående kod när appen är i produktions- eller testläge. Mer information finns i Använda flera miljöer i ASP.NET Core.

Följande kod aktiverar olika mellanprogram:

  • app.UseHttpsRedirection();: Omdirigerar HTTP-begäranden till HTTPS.
  • app.UseStaticFiles();: Gör att statiska filer som HTML, CSS, bilder och JavaScript kan hanteras. Mer information finns i Statiska filer i ASP.NET Core.
  • app.UseRouting();: Lägger till routningsmatchning i pipelinen för mellanprogram. Mer information finns i Routning i ASP.NET Core
  • app.MapRazorPages();: Konfigurerar slutpunktsroutning för Razor Pages.
  • app.UseAuthorization(); : Auktoriserar en användare att komma åt säkra resurser. Den här appen använder inte auktorisering, därför kan den här raden tas bort.
  • app.Run(); : Kör appen.

Felsökning med det slutförda exemplet

Om du stöter på ett problem som du inte kan lösa kan du jämföra koden med det slutförda projektet. Visa eller ladda ned slutfört projekt (ladda ned).

Nästa steg

Det här är den första handledningen i en serie som lär dig grunderna i att skapa en ASP.NET Core Razor webbapp med Pages.

En mer avancerad introduktion till utvecklare som är bekanta med kontrollanter och vyer finns i Introduktion till Razor sidor. En videointroduktion finns i Entity Framework Core för nybörjare.

Om du är nybörjare på att ASP.NET Core-utveckling och är osäker på vilken ASP.NET Core-webbgränssnittslösning som passar bäst för dina behov kan du läsa Välj ett ASP.NET Core-användargränssnitt.

I slutet av serien har du en app som hanterar en databas med filmer.

I den här handledningen:

  • Skapa en Razor Pages-webbapp.
  • Kör appen.
  • Granska projektfilerna.

I slutet av den här självstudien har du en fungerande Razor Pages-webbapp som du kommer att förbättra i senare självstudier.

Home eller startsida/indexsida

Prerequisites

Skapa en Razor Pages-webbapp

  1. Starta Visual Studio 2022 och välj Skapa ett nytt projekt.

    Skapa ett nytt projekt från startfönstret

  2. I dialogrutan Skapa ett nytt projekt väljer du ASP.NET Core Web App och väljer sedan Nästa.

    Skapa en ASP.NET Core-webbapp

  3. I dialogrutan Konfigurera det nya projektet anger du RazorPagesMovie som Projektnamn. Det är viktigt att ge projektet namnet RazorPagesMovie, inklusive att matcha versaler, så att namnrymderna matchar när du kopierar och klistrar in exempelkod.

    Konfigurera ditt nya projekt

  4. Välj Nästa.

  5. I dialogrutan Ytterligare information väljer du .NET 6.0 (långsiktigt stöd) och sedan Skapa.

    Ytterligare information

Följande startprojekt skapas:

Solution Explorer

Kör appen

Välj RazorPagesMovie i Solution Explorer och tryck sedan på Ctrl+F5 för att köra utan felsökningsprogrammet.

Visual Studio visar följande dialogruta när ett projekt ännu inte har konfigurerats för att använda SSL:

Det här projektet är konfigurerat för att använda SSL. För att undvika SSL-varningar i webbläsaren kan du välja att lita på det självsignerade certifikat som IIS Express har genererat. Vill du lita på IIS Express SSL-certifikatet?

Välj Ja om du litar på IIS Express SSL-certifikatet.

Följande dialogruta visas:

Dialogrutan Säkerhetsvarning

Välj Ja om du samtycker till att lita på utvecklingscertifikatet.

Information om hur du kan lita på Firefox-webbläsaren finns i Firefox SEC_ERROR_INADEQUATE_KEY_USAGE certifikatfel.

Visual Studio:

  • Kör appen, som startar Kestrel servern.
  • Startar standardwebbläsaren på https://localhost:5001, som visar appgränssnittet.

Granska projektfilerna

Följande avsnitt innehåller en översikt över de viktigaste projektmapparna och filerna som du kommer att arbeta med i senare självstudier.

Sidmapp

Innehåller Razor sidor och medföljande filer. Varje Razor sida är ett par filer:

  • En .cshtml-fil som har HTML-kod och C#-kod i Razor-syntax.
  • En .cshtml.cs fil med C#-kod som hanterar sidhändelser.

Stödfiler har namn som börjar med ett understreck. Till exempel konfigurerar _Layout.cshtml-filen gränssnittselement som är gemensamma för alla sidor. Den här filen konfigurerar navigeringsmenyn överst på sidan och copyrightmeddelandet längst ned på sidan. Mer information finns i Layout i ASP.NET Core.

wwwroot-mapp

Innehåller statiska tillgångar, till exempel HTML-filer, JavaScript-filer och CSS-filer. Mer information finns i Statiska filer i ASP.NET Core.

appsettings.json

Innehåller konfigurationsdata, till exempel anslutningssträngar. Mer information finns i Konfiguration i ASP.NET Core.

Program.cs

Innehåller följande kod:

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();

Följande kodrader i den här filen skapar en WebApplicationBuilder med förkonfigurerade standardvärden, lägger till Razor sidstöd i di-containern (Dependency Injection) och skapar appen:

var builder = WebApplication.CreateBuilder(args);

// Add services to the container.
builder.Services.AddRazorPages();

var app = builder.Build();

Undantagssidan för utvecklare är aktiverad som standard och innehåller användbar information om undantag. Produktionsappar bör inte köras i utvecklingsläge eftersom undantagssidan för utvecklare kan läcka känslig information.

Följande kod anger undantagsslutpunkten till /Error och aktiverar HTTP Strict Transport Security Protocol (HSTS) när appen inte körs i utvecklingsläge:

// 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();
}

Till exempel körs föregående kod när appen är i produktions- eller testläge. Mer information finns i Använda flera miljöer i ASP.NET Core.

Följande kod aktiverar olika mellanprogram:

  • app.UseHttpsRedirection();: Omdirigerar HTTP-begäranden till HTTPS.
  • app.UseStaticFiles();: Gör att statiska filer som HTML, CSS, bilder och JavaScript kan hanteras. Mer information finns i Statiska filer i ASP.NET Core.
  • app.UseRouting();: Lägger till routningsmatchning i pipelinen för mellanprogram. Mer information finns i Routning i ASP.NET Core
  • app.MapRazorPages();: Konfigurerar slutpunktsroutning för Razor Pages.
  • app.UseAuthorization(); : Auktoriserar en användare att komma åt säkra resurser. Den här appen använder inte auktorisering, därför kan den här raden tas bort.
  • app.Run(); : Kör appen.

Felsökning med det slutförda exemplet

Om du stöter på ett problem som du inte kan lösa kan du jämföra koden med det slutförda projektet. Visa eller ladda ned slutfört projekt (ladda ned).

Nästa steg

Det här är den första handledningen i en serie som lär dig grunderna i att skapa en ASP.NET Core Razor webbapp med Pages.

En mer avancerad introduktion till utvecklare som är bekanta med kontrollanter och vyer finns i Introduktion till Razor sidor.

Om du är nybörjare på att ASP.NET Core-utveckling och är osäker på vilken ASP.NET Core-webbgränssnittslösning som passar bäst för dina behov kan du läsa Välj ett ASP.NET Core-användargränssnitt.

I slutet av serien har du en app som hanterar en databas med filmer.

I den här handledningen:

  • Skapa en Razor Pages-webbapp.
  • Kör appen.
  • Granska projektfilerna.

I slutet av den här självstudien har du en fungerande Razor Pages-webbapp som du kommer att förbättra i senare självstudier.

Home eller startsida/indexsida

Prerequisites

Skapa en Razor Pages-webbapp

  1. Starta Visual Studio och välj Skapa ett nytt projekt. Mer information finns i Skapa ett nytt projekt i Visual Studio.

    Skapa ett nytt projekt från startfönstret

  2. I dialogrutan Skapa ett nytt projekt väljer du ASP.NET Core Web Application och sedan Nästa.

    Skapa ett ASP.NET Core-webbprogram

  3. I dialogrutan Konfigurera det nya projektet anger du RazorPagesMovie som Projektnamn. Det är viktigt att ge projektet namnet RazorPagesMovie, inklusive att matcha versaler, så att namnrymderna matchar när du kopierar och klistrar in exempelkod.

  4. Välj Skapa.

    Konfigurera projektet

  5. I dialogrutan Skapa ett nytt ASP.NET Core-webbprogram väljer du:

    1. .NET Core och ASP.NET Core 5.0 i listrutorna.
    2. Webbprogram.
    3. Create.

    Välj ASP.NET Core Web App

Följande startprojekt skapas:

Solution Explorer

Kör appen

  • Tryck på Ctrl+F5 för att köra utan felsökningsprogrammet.

    Visual Studio visar följande dialogruta när ett projekt ännu inte har konfigurerats för att använda SSL:

    Det här projektet är konfigurerat för att använda SSL. För att undvika SSL-varningar i webbläsaren kan du välja att lita på det självsignerade certifikat som IIS Express har genererat. Vill du lita på IIS Express SSL-certifikatet?

    Välj Ja om du litar på IIS Express SSL-certifikatet.

    Följande dialogruta visas:

    Dialogrutan Säkerhetsvarning

    Välj Ja om du samtycker till att lita på utvecklingscertifikatet.

    Information om hur du kan lita på Firefox-webbläsaren finns i Firefox SEC_ERROR_INADEQUATE_KEY_USAGE certifikatfel.

    Visual Studio startar IIS Express och kör appen. Adressfältet visar localhost:port# och inte något som liknar example.com. Det beror på att localhost är standardvärdnamnet för den lokala datorn. Localhost hanterar endast webbbegäranden från den lokala datorn. När Visual Studio skapar ett webbprojekt används en slumpmässig port för webbservern.

Granska projektfilerna

Här är en översikt över de viktigaste projektmapparna och filerna som du kommer att arbeta med i senare självstudier.

Sidmapp

Innehåller Razor sidor och medföljande filer. Varje Razor sida är ett par filer:

  • En .cshtml-fil som har HTML-kod och C#-kod i Razor-syntax.
  • En .cshtml.cs fil med C#-kod som hanterar sidhändelser.

Stödfiler har namn som börjar med ett understreck. Till exempel konfigurerar _Layout.cshtml-filen gränssnittselement som är gemensamma för alla sidor. Den här filen konfigurerar navigeringsmenyn överst på sidan och copyrightmeddelandet längst ned på sidan. Mer information finns i Layout i ASP.NET Core.

wwwroot-mapp

Innehåller statiska tillgångar, till exempel HTML-filer, JavaScript-filer och CSS-filer. Mer information finns i Statiska filer i ASP.NET Core.

appsettings.json

Innehåller konfigurationsdata, till exempel anslutningssträngar. Mer information finns i Konfiguration i ASP.NET Core.

Program.cs

Innehåller startpunkten för appen. Mer information finns i .NET Generic Host i ASP.NET Core.

Startup.cs

Innehåller kod som konfigurerar appbeteende. Mer information finns i Appstart i ASP.NET Core.

Felsökning med det slutförda exemplet

Om du stöter på ett problem som du inte kan lösa kan du jämföra koden med det slutförda projektet. Visa eller ladda ned slutfört projekt (ladda ned).

Nästa steg

Det här är den första handledningen i en serie som lär dig grunderna i att skapa en ASP.NET Core Razor webbapp med Pages.

En mer avancerad introduktion till utvecklare som är bekanta med kontrollanter och vyer finns i Introduktion till Razor sidor.

I slutet av serien har du en app som hanterar en databas med filmer.

Visa eller ladda ned exempelkod (ladda ned).

I den här handledningen:

  • Skapa en Razor Pages-webbapp.
  • Kör appen.
  • Granska projektfilerna.

I slutet av den här självstudien har du en fungerande Razor Pages-webbapp som du kommer att bygga vidare på i senare självstudier.

Indexsidan eller Home

Prerequisites

Skapa en Razor Pages-webbapp

  • Välj Nytt> på Menyn Visual Studio-fil.

  • Skapa en ny ASP.NET Core Web Application och välj Nästa. Skapa det nya projektet från startfönstret

  • Ge projektet namnet RazorPagesMovie. Det är viktigt att ge projektet namnet RazorPagesMovie så att namnrymderna matchar när du kopierar och klistrar in kod. Namnge projektet

  • Välj ASP.NET Core 3.1 i listrutan Webbprogram och välj sedan Skapa.

Välj ASP.NET Core Web Application

Följande startprojekt skapas:

Solution Explorer

Kör appen

  • Tryck på Ctrl+F5 för att köra utan felsökningsprogrammet.

    Visual Studio visar följande dialogruta när ett projekt ännu inte har konfigurerats för att använda SSL:

    Det här projektet är konfigurerat för att använda SSL. För att undvika SSL-varningar i webbläsaren kan du välja att lita på det självsignerade certifikat som IIS Express har genererat. Vill du lita på IIS Express SSL-certifikatet?

    Välj Ja om du litar på IIS Express SSL-certifikatet.

    Följande dialogruta visas:

    Dialogrutan Säkerhetsvarning

    Välj Ja om du samtycker till att lita på utvecklingscertifikatet.

    Information om hur du kan lita på Firefox-webbläsaren finns i Firefox SEC_ERROR_INADEQUATE_KEY_USAGE certifikatfel.

    Visual Studio startar IIS Express och kör appen. Adressfältet visar localhost:port# och inte något som liknar example.com. Det beror på att localhost är standardvärdnamnet för den lokala datorn. Localhost hanterar endast webbbegäranden från den lokala datorn. När Visual Studio skapar ett webbprojekt används en slumpmässig port för webbservern.

Granska projektfilerna

Här är en översikt över de viktigaste projektmapparna och filerna som du kommer att arbeta med i senare självstudier.

Sidmapp

Innehåller Razor sidor och medföljande filer. Varje Razor sida är ett par filer:

  • En .cshtml-fil som har HTML-kod och C#-kod i Razor-syntax.
  • En .cshtml.cs fil med C#-kod som hanterar sidhändelser.

Stödfiler har namn som börjar med ett understreck. Till exempel konfigurerar _Layout.cshtml-filen gränssnittselement som är gemensamma för alla sidor. Den här filen konfigurerar navigeringsmenyn överst på sidan och copyrightmeddelandet längst ned på sidan. Mer information finns i Layout i ASP.NET Core.

wwwroot-mapp

Innehåller statiska filer, till exempel HTML-filer, JavaScript-filer och CSS-filer. Mer information finns i Statiska filer i ASP.NET Core.

appSettings.json

Innehåller konfigurationsdata, till exempel anslutningssträngar. Mer information finns i Konfiguration i ASP.NET Core.

Program.cs

Innehåller startpunkten för programmet. Mer information finns i .NET Generic Host i ASP.NET Core.

Startup.cs

Innehåller kod som konfigurerar appbeteende. Mer information finns i Appstart i ASP.NET Core.

Nästa steg