Request.RequestContext.RouteData.Values获取不到参数值

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参数放到"?"后.

如:  http://loclahost/home/index/123/typename?name=gou

 

获取不在路由配置中的参数值用:Request.QueryString["name"]

原文地址:https://www.cnblogs.com/suizhikuo/p/3787692.html