ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • ASP.NET MVC 자습서(1) - 컨트롤러 추가
    ASP.NET 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 로 접근 시 같은 값을 리턴받을 수 있다.

     

    댓글

Designed by Tistory.