Dela via


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

Notera

Det här är inte den senaste versionen av den här artikeln. Den aktuella utgåvan finns i .NET 9-versionen av den här artikeln.

Varning

Den här versionen av ASP.NET Core stöds inte längre. Mer information finns i .NET och .NET Core Support Policy. Den aktuella versionen finns i den .NET 9-versionen av den här artikeln.

Viktig

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.

Den aktuella versionen finns i den .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 bygga en ASP.NET Core Razor-webbapp för Pages.

En mer avancerad introduktion som riktar sig till utvecklare som är bekanta med kontrollers och vyer finns i Introduktion till Razor Pages. En videointroduktion finns i Entity Framework Core for Beginners.

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 indexsidan

Förutsättningar

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 Pages)>Nästa.

  • I dialogrutan Konfigurera ditt nya projekt anger du RazorPagesMovie för Projektnamn. Det är viktigt att namnge projektet RazorPagesMovie, inklusive matchning av 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 övergripande uttalanden är avmarkerat.
  • Välj Skapa.

    Ytterligare information

    Följande startprojekt skapas:

    Lösningsutforskaren

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

Kör appen

Välj RazorPagesMovie i Solution Exploreroch 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 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 för säkerhetsvarning

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

Information om hur du kan lita på webbläsaren Firefox 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.

Sidor mapp

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 Configuration 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 stöd för Razor Pages i containern Dependency Injection (DI)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 9.0.
  • 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 (hur du laddar 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 Pages webbapp.

För en mer avancerad introduktion för utvecklare som är bekanta med kontrollers och vyer, se Introduktion till Razor Pages. En videointroduktion finns i Entity Framework Core for Beginners.

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 indexsidan

Förutsättningar

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 Pages)>Nästa.

  • I dialogrutan Konfigurera ditt nya projekt anger du RazorPagesMovie för Projektnamn. Det är viktigt att namnge projektet RazorPagesMovie, inklusive matchning av 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:

    Lösningsutforskaren

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

Kör appen

Välj RazorPagesMovie i Solution Exploreroch 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 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:

Säkerhetsvarning dialogruta

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

För information om förtroende för Firefox-webbläsaren, se 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.

Sidor-mapp

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

  • En .cshtml-fil som har HTML-kod med C#-kod med 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 Configuration 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 stöd för Razor Pages i containern Dependency Injection (DI)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. För mer information, se 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 (hur du laddar ned).

Nästa steg

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

En mer avancerad introduktion till utvecklare som är bekanta med kontrollanter och vyer finns i Introduktion till Razor Pages. En videointroduktion finns i Entity Framework Core for Beginners.

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 Indexsidan

Förutsättningar

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>Nästa.

  • I dialogrutan Konfigurera ditt nya projekt anger du RazorPagesMovie för Projektnamn. Det är viktigt att namnge projektet RazorPagesMovie, inklusive matchning av 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 överordnade instruktioner är avmarkerat.
  • Välj Skapa.

    Ytterligare information

    Följande startprojekt skapas:

    Lösningsutforskaren

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

Kör appen

Välj RazorPagesMovie i Solution Exploreroch 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 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:

dialogruta för säkerhetsvarning

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

För information om att lita på webbläsaren Firefox, se 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.

Mapp för sidor

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

  • En .cshtml-fil som innehåller HTML och C#-kod genom att använda 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 De statiska filerna i ASP.NET Core.

appsettings.json

Innehåller konfigurationsdata, till exempel anslutningssträngar. Mer information finns i Configuration 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 stöd för Razor Pages i containern Dependency Injection (DI)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. För mer information, se 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 (hur du laddar ned).

Nästa steg

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

För en mer avancerad introduktion riktad mot utvecklare som är bekanta med kontrollanter och vyer, se Introduktion till Razor Sidor. En videointroduktion finns i Entity Framework Core for Beginners.

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 Indexsidan

Förutsättningar

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 Appoch väljer sedan Nästa.

    Skapa en ASP.NET Core-webbapp

  3. I dialogrutan Konfigurera ditt nya projekt anger du RazorPagesMovie för Projektnamn. Det är viktigt att namnge projektet RazorPagesMovie, inklusive matchning av 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 väljer sedan Skapa.

    Ytterligare information

Följande startprojekt skapas:

Lösningsutforskaren

Kör appen

Välj RazorPagesMovie i Solution Exploreroch 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 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 litar på Webbläsaren Firefox 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.

Sidor mapp

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

  • En .cshtml-fil som innehåller HTML-kod med C#-kod som använder 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.

mappen wwwroot

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 Configuration 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 stöd för Razor Pages i containern Dependency Injection (DI)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. För mer information, se 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 (hur du laddar ned).

Nästa steg

Det här är den första handledningen i en serie som undervisar i grunderna i att bygga en ASP.NET Core Razor Pages-webbapplikation.

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

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 indexsida

Förutsättningar

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 Applicationoch väljer sedan Nästa.

    Skapa ett ASP.NET Core-webbprogram

  3. I dialogrutan Konfigurera ditt nya projekt anger du RazorPagesMovie för Projektnamn. Det är viktigt att namnge projektet RazorPagesMovie, inklusive matchning av 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. Webbapplikation.
    3. Skapa.

    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 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å webbläsaren Firefox 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 stödjande filer. Varje Razor sida är ett par filer:

  • En .cshtml-fil som har HTML-kod med C#-kod med 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 hittar du i Statiska filer i ASP.NET Core.

appsettings.json

Innehåller konfigurationsdata, till exempel anslutningssträngar. Mer information finns i Configuration 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. För mer information, se 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 (hur du laddar ned).

Nästa steg

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

En mer avancerad introduktion avsedd för utvecklare som är bekanta med kontroller och vyer finns i Introduktion till Razor Pages.

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

Visa eller ladda ned exempelkod (hur du laddar ned).

I den här guiden:

  • 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.

Home eller Index-sidan

Förutsättningar

Skapa en Razor Pages-webbapp

  • Välj New>Projectpå menyn i Visual Studio File .

  • Skapa ett nytt ASP.NET Core-webbprogram och välj Nästa. Skapa det nya projektet från startfönstret

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

  • Välj ASP.NET Core 3.1 i listrutan, Web Applicationoch välj sedan Skapa.

Välj ASP.NET Core-webbprogram

Följande startprojekt skapas:

Lösningsutforskare

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 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 att lita på webbläsaren Firefox 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.

Sidmappen

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

  • En .cshtml-fil som har HTML-kod och C#-kod med 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. För mer information, se statiska filer i ASP.NET Core.

appSettings.json

Innehåller konfigurationsdata, till exempel anslutningssträngar. Mer information finns i Configuration 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. För mer information, se appstart i i ASP.NET Core.

Nästa steg