MVC5笔记

2018-06-22 06:12:33来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

创建一个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();
        }

写得有点凌乱,改天有时间修改

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:本地IIS运行调试遇到的问题

下一篇:本地配置iis调试