Asp.net 通过URL路由将路由数据作为查询字符串传递

Asp.net 通过URL路由将路由数据作为查询字符串传递,asp.net,webforms,Asp.net,Webforms,我已经在URL中注入了国家代码,现在希望通过URL路由将国家代码路由数据作为查询字符串传递 routes.MapPageRoute( "Home", "{lang}", "~/Default.aspx?country={lang}" ); 但它不起作用,而且会抛出错误 那么,我如何用Default.aspx附加路由数据意味着我的国家代码?在您的情况下,直接在文件路径中附加查询字符串参数对获取所需的国家代码值没有影响 我认为您可以做

我已经在URL中注入了国家代码,现在希望通过URL路由将国家代码路由数据作为查询字符串传递

    routes.MapPageRoute(
        "Home",
        "{lang}",
        "~/Default.aspx?country={lang}"
    );
但它不起作用,而且会抛出错误


那么,我如何用
Default.aspx
附加路由数据意味着我的国家代码?

在您的情况下,直接在文件路径中附加查询字符串参数对获取所需的国家代码值没有影响

我认为您可以做的是将
国家
作为路线值的一部分

routes.MapPageRoute(
    "Home",
    "Home/{country}", 
    "~/Default.aspx"
);
因此,基本上,您将有一个类似
http://www.example.com/home/us
,可以通过调用代码隐藏中的
Page.RouteData.Values[“country”]
来检索值
us