Routing in ASP.NET Core MVC

This project will demonstrate how to use Routing in ASP.NET Core MVC

  • LearnASPNETCoreMVCWithRealApps
    • Controllers
      • DemoController.cs
    • Views
      • Demo
        • Index.cshtml
        • Demo2.cshtml
    • _ViewImports.cshtml
    • Startup.cs
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Configuration;

namespace LearnASPNETCoreMVCWithRealApps.Controllers
{
    [Route("demo")]
    public class DemoController : Controller
    {
        [Route("")]
        [Route("index")]
        [Route("~/")]
        public IActionResult Index()
        {
            return View();
        }

        [Route("demo2")]
        public IActionResult Demo2()
        {
            return View("Demo2");
        }
    }
}
@{
    Layout = null;
}

<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>Index</title>
</head>
<body>

    <h3>Index View</h3>
    <a asp-controller="demo">Index</a>
    <br />
    <a asp-controller="demo" asp-action="index">Index</a>
    <br />
    <a asp-controller="demo" asp-action="demo2">Demo 2</a>

</body>
</html>
@{
    Layout = null;
}

<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>Demo 2</title>
</head>
<body>

    <h3>Demo 2 View</h3>

</body>
</html>
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.DependencyInjection;

namespace LearnASPNETCoreMVCWithRealApps
{
    public class Startup
    {
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddMvc();
        }

        public void Configure(IApplicationBuilder app, IHostingEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }

            app.UseStaticFiles();

            app.UseMvc(routes =>
            {
                routes.MapRoute(
                    name: "default",
                    template: "{controller=Demo}/{action=Index}/{id?}");
            });

        }
    }
}

Screenshots