首页 > 技术文章 > MVC Router学习

colder 2014-07-03 09:42 原文

Route顾名思义就是路由的意思了。

我们先打开Global.asax查看代码

可以看到

routes.MapRoute( 
    "Default", // 路由名称 
    "{controller}/{action}/{id}", // 规定url格式 
    new { controller = "Home", action = "Index", id = UrlParameter.Optional } // 参数设置 
);

 

这个是默认的路由,就是当我们进入网站例如http://localhost:1187的时候就会按照这条规则找到http://localhost:1187/Home/Index

http://localhost:1187  等于  http://localhost:1187/Home/Index

 

UrlParameter.Optional 这个的意思说可选参数。

 

好啦,我们做一个自己例子吧.

例子1:

routes.MapRoute( 
    "myRoute",                                               
    "myRoute/{one}/{two}",                   
    new { controller = "Home", action = "Login",one= UrlParameter.Optional,two=UrlParameter.Optional }  
);

注意:这段代码一定要放到上面那段代码的上面

好了那么当我们访问

http://localhost:1187/myRoute/  就是等于访问  http://localhost:1187/Home/Login

 

例子1:中有{one}/{two}这两个参数,那我们在相应的action处理怎么获取这两个参数呢?

呵呵,请看代码

public ActionResult Login(string one  string two)//这里的两个参数名称要对应myRoute路由的参数 
{

    ViewData["Message1"] = one;

    ViewData["Message2"] = two"; 
    return View(); 
}

推荐阅读