0

对,所以我正在开发一个网站(虽然只是一个初学者)。我一直在为在我的网站上注册的每个用户生成一个唯一的 url 这个问题。现在说我的网站名为www.mydomainname.com. 到目前为止,每个用户都有一个具有相同 url 的个人资料,无论用户名如何,www.mydomainname.com/myaccount.aspx. 这是因为我通过 sql 查询根据每个用户的用户名提取数据。现在我想删除 myaccount.aspx 并将注册用户的用户名添加到 url。这也有助于其他用户访问您的个人资料,就像 youtube 或 facebook 一样。路由可能对我有帮助(虽然不确定),但任何想法或示例代码甚至是关于如何实现这一点的淋浴知识都会有很大帮助。

4

2 回答 2

2

如果您使用的是 asp.net Membership Provider,您可以在查询字符串中包含用户 ID,用户 ID 是唯一的 GUID 值。它会是这样的:

Guid userId = (Guid)Membership.GetUser().ProviderUserKey;
string url = string.Format("www.mydomainname.com/myaccount.aspx?user={0}", userId.ToString());

例如,这将给出 url:

www.mydomainname.com/myaccount.aspx?user=0CCAFADF-0BAE-4985-8073-1639985740BE

从此 URL 中,您可以使用以下命令获取user查询字符串值:

string guid = Request.QueryString.Get("user");
于 2013-09-26T09:20:02.943 回答
0

您还可以按照您提到的选项之一实现路由:

 void RegisterRoutes(RouteCollection routes)
    {
        routes.MapPageRoute("MyAccount","Account/{username}", "~/myaccount.aspx");
    }
于 2013-09-26T09:50:01.920 回答