在ASP.NET MVC控制器中获取链接中的路由数据

在ASP.NET MVC中,在链接中附加路由数据有2种方式。一种是把路由数据放在匿名对象中传递:

 

<a href="@Url.Action("GetRouteData","Home",new { ReturnUrl = Request.Url.PathAndQuery, x = 10})">走你</a>

 

一种是放在RouteValueDictionary对象中传递:

 

<a href="@Url.Action("GetRouteData","Home",new RouteValueDictionary(new { a = 1, b = 2 }))">也走你</a>

 

如果在控制器中,通过类似this.ControllerContext.RouteData.Values["somekey"].ToString()方式来获取路由数据是行不通的,因为Url.Action方法所带的路由数据是以querystring的形式传递的。

 

通过如下方式来获取链接中的路由数据:

 

var temp = Request.QueryString["ReturnUrl"];
var temp1 = Request.QueryString["x"];
var temp2 = Request.QueryString["a"];
posted @ 2015-01-25 21:06  Darren Ji  阅读(1966)  评论(0编辑  收藏  举报

我的公众号:新语新世界,欢迎关注。