Request.RequestContext.RouteData.Values是获取路由配置中参数的值.
如过路由配置是:
public static void RegisterRoutes(RouteCollection routes)
{ routes.IgnoreRoute("{resource}.axd/{*pathInfo}");routes.MapRoute(
"Default", // 路由名称 "{controller}/{action}/{id}/{type}", // 带有参数的 URL new { controller = "Home", action = "Index", id = UrlParameter.Optional, type= UrlParameter.Optional } // 参数默认值 ); }
则可以用这个语句获取参数:Request.RequestContext.RouteData.Values["id"].ToString()
和Request.RequestContext.RouteData.Values["type"]'
但是不能获取 Request.RequestContext.RouteData.Values["name"]的参数因为,"name"不在路由配置中.并且生成的url会把name参数放到"?"后.
如:
获取不在路由配置中的参数值用:Request.QueryString["name"]