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

时间:2017-11-16 20:41:42

标签: asp.net webforms

我已在网址中注入国家/地区代码,现在希望通过网址路由将国家/地区代码路由数据作为查询字符串传递。

    routes.MapPageRoute(
        "Home",
        "{lang}",
        "~/Default.aspx?country={lang}"
    );

但是它不起作用并抛出错误。

那么,我如何追加路线数据意味着我的国家代码与Default.aspx

1 个答案:

答案 0 :(得分:1)

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

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

routes.MapPageRoute(
    "Home",
    "Home/{country}", 
    "~/Default.aspx"
);

基本上,您将拥有类似http://www.example.com/home/us的路线,并且可以通过在后面的代码中调用us来检索值Page.RouteData.Values["country"]