MVC5筆記

建立一個MVC網站後,咱們能夠在/app_strat/routeConfig.cs中來查看集中控制路的方法,RegisterRoutes方法(註冊路由),咱們改一下,刪除默認的RegisterRoutes中的全部內容,而後來
自定義:
  public class RouteConfig
    {
        public static void RegisterRoutes(RouteCollection routes)
        {
            routes.MapMvcAttributeRoutes(); //自定義路由
        }
    }
而後在Controller註冊一個規則
 [Route("Test")]
        public ActionResult About()
        {
            ViewBag.Message = "Your application description page.";

            return View();
        }
而後啓動項目,輸入Test就會出現About的視圖
 [Route("")]
        public ActionResult Index()
        {
            return View();
        }
默認頁能夠這樣寫,註冊的規則也能夠重疊,既一個控制器(Controller)能夠註冊多條路由規則
  [Route("")]
        [Route("home")]
        [Route("home/index")]
        public ActionResult Index()
        {
            return View();
        }
路由值能夠這樣寫
 [Route("Test/{id}")]
        public ActionResult About(int id)
        {
            ViewBag.Message = "Your application description page.";

            return View();
        }
控制器路由:
前面看到了如何把路由的特性添加到操做方法,不少時侯,控制器中的方法遵循的模式基本上同樣,咱們能夠用一個通用方法,來節省一下代碼量和時間。
咱們這樣改一下HomeController
 [Route("home/{action}")]
    public class HomeController : Controller
    {
        //[Route("")]
        //[Route("home")]
        //[Route("home/index")]
        public ActionResult Index()
        {
            return View();
        }
      
        public ActionResult About(int id)
        {
            ViewBag.Message = "Your application description page.";

            return View();
        }

        public ActionResult Contact()
        {
            ViewBag.Message = "Your contact page.";

            return View();
        }
    }
}

固然這種方法還支持爲個別控制提供單獨的路由規則
  [Route("")]
        [Route("home")]
        [Route("home/index")]
        public ActionResult Index()
        {
            return View();
        }

寫得有點凌亂,改天有時間修改app

相關文章
相關標籤/搜索