我正在使用 ASP.Net 4.0 Web 表单应用程序。
我已经在 Global.asax 中设置了此路由并正在工作:
RouteTable.Routes.MapPageRoute("status", "members/{userid}/{status}", "~/members/status.aspx");
“状态”参数可让我将页面上的活动选项卡设置为状态、博客、照片或关于(默认为状态)。
所以当我发布到:/members/status.aspx?userId=first.last
页面加载时我会看到 /members/first.last/status。
我需要做的是渲染一些链接,将用户带到带有博客 ID 的博客选项卡,这样我就可以登陆显示多个博客的博客选项卡,并按 id 滚动到特定博客。我正在尝试设置与 MVC 中类似的 href:/members/first.last/blog/1000(其中 1000 是博客 Id) - 我的另一个尝试是 /members/first.last/blog/?id =1000 但我永远看不到 Page_Load 中查询字符串键中的 Id。
我尝试添加此路由但无济于事:
RouteTable.Routes.MapPageRoute("status",
"members/{userid}/{status}/{*queryvalues}", "~/members/status.aspx",
false,
new RouteValueDictionary { { "id", @"\d{4}" } });
感谢您的帮助。
我认为你应该看看物品收藏。
this.Context.Items["userid"]
或在 4.0 的 RouteData 集合中
Page.RouteData.Values["userid"]
请参阅此链接了解信息如何:访问路由页面中的 URL 参数
使用方法如下:
routes.MapPageRoute(
"ProductsBrowse",
"browse/{BrowseBy}/{Category}/{*queryvalues}",
"~/Pages/Products/Browse.aspx"
);