3

我正在编写经典的 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");
    }

但是我如何检索用户名?

4

2 回答 2

2

假设您的路由方案是正确的并且一切正常,您可以从请求上下文中获取路由值(在本例中为“操作”):

string userName = (string) requestContext.RouteData.Values["UserName"]; 
于 2012-10-19T21:57:04.883 回答
2

你应该能够使用它 Page.RouteData.Values["UserName"] as string

Scott Gu 有一篇很好的博客文章,涵盖了网络表单中的路由。

于 2012-10-19T21:58:19.597 回答