정리

ASP.NET MVC 자습서(1) - 컨트롤러 추가

디벨로프로 2020. 3. 20. 10:29
반응형

HelloWorld 컨트롤러 생성

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace MVCmovie.Controllers
{
    public class HelloWorldController : Controller
    {
        // GET: HelloWorld
        public String Index()
        {
            return "this is my <b>default</b> Action...";
        }

        public string Welcome(string name, int numTimes = 1)
        {
            return HttpUtility.HtmlEncode("Hello " + name + " , NumTimes is : " + numTimes);
        }
    }
}

localhost:port/HelloWorld 로 접근 시 

this is my default Action 리턴

 

localhost:port/HelloWorld/1?name=hey 입력 시

Hello hey, NumTimes is 1 리턴

 

App_start.RouteConfig.cs

using System.Web.Routing;

namespace MVCmovie
{
    public class RouteConfig
    {
        public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

            routes.MapRoute(
                name: "Default",
                url: "{controller}/{action}/{id}",
                defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
            );

            routes.MapRoute(
                name: "Hello",
                url: "{controller}/{action}/{name}{id}",
                
            );
        }
    }
}

MapRoute 에서 name Default는 기존 MVC에서 제공하는 라우팅 형식

Hello는 새로 추가한 방식이다. 

 

Default 에서는

HelloWorld/Welcom/1?name=hey로 접근하였다면 

 

Hello 에서는

HelloWorld/Welcome/hey/1 로 접근 시 같은 값을 리턴받을 수 있다.