为注册您网站的每个用户生成唯一的 URL

本文关键字:唯一 URL 用户 注册 网站 | 更新日期: 2023-09-27 18:32:48

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

为注册您网站的每个用户生成唯一的 URL

如果使用 asp.net 成员资格提供程序,则可以在查询字符串中包含用户 ID,用户 ID 是唯一的 GUID 值。它将是这样的:

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

例如,这将给出网址:

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

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

string guid = Request.QueryString.Get("user");

您还可以实现路由,如您所提到的选项之一:

 void RegisterRoutes(RouteCollection routes)
    {
        routes.MapPageRoute("MyAccount","Account/{username}", "~/myaccount.aspx");
    }