Bir ASP.NET Core 5 boş şablonunu MVC'ye çevirmek için;

1) Startup.cs dosyasındaki ConfigureServices metoduna aşağıdaki satırı ekleyin:

services.AddControllersWithViews();

2) Startup.cs dosyasındaki Configure metodunun içindeki

app.UseEndpoints(endpoints =>
{
    endpoints.MapGet("/", async context =>
    {
        await context.Response.WriteAsync("Hello World!");
    });
});

kodlarını silin ve bunların yerine:

app.UseEndpoints(endpoints =>
{
    endpoints.MapDefaultControllerRoute();
});

yazın.

3) Proje klasörüne Controllers, Models ve Views klasörlerini ekleyin. Views klasöründe her controller için ayrı bir alt klasör oluşturun.

Bir action metodunun kendi view'ı dışındaki bir view'ı döndürmesi değiştir

Bir action metodu direkt View() metodunu çalıştırırsa Views klasöründeki ilgili controller'a karşılık gelen klasördeki ilgili action'a karşılık gelen view döndürülür. Farklı bir klasördeki ve/veya farklı bir isimdeki view'ı döndürmek için;

  • View() metoduna parametre olarak view ismi verilir (eğer view, çalışması gereken normal view'la aynı klasördeyse),
  • Yolla beraber view ismi verilir (eğer view, çalışması gereken normal view'la aynı klasörde değilse). Yol belirtimi mutlak ve göreli olarak iki şekilde yapılır. Göreli yol gösterimi:
../Product/Index

Çalışması gereken normal view'ın bulunduğu klasörün bir üst klasöründeki Product klasöründeki Index view'ını döndürür.

/Views/Product/Index.cshtml

Mutlak yol gösterimi. Mutlak yol gösteriminde view'ın uzantısının belirtilmesi zorunludur.