我正在编写经典的asp.net网站并且遇到问题。
通常在URL中发送数据:localhost / MyrandomPage.aspx?UserName = RandomUsername
但我正在尝试使页面更加个性化,所以我希望Url看起来像这样:
localhost.com/Profile/RandomUsername
我无法找到如何在Url中删除后检索RandomUserName的方法。
我已完成路由:
public static void RegisterRoutes(RouteCollection routes)
{
routes.MapPageRoute("",
"/Pages/{UserName}",
"~/Pages/Profile.aspx");
}
但我如何重新检索UserName ??
答案 0 :(得分:2)
假设您的路由方案正确且一切正常,您可以从请求上下文中获取路由值(在本例中为“action”):
string userName = (string) requestContext.RouteData.Values["UserName"];
答案 1 :(得分:2)
你应该可以使用它
Page.RouteData.Values["UserName"] as string
Scott Gu在网络表格中有good blog post覆盖路由。