将 UserId 获取到 SQLDataSource

发布于 2024-08-13 04:53:45 字数 231 浏览 10 评论 0原文

我对 ASP.NET 还是个新手,我遇到了一个我无法弄清楚的问题。 我正在使用 vb 和 .net 会员 API。

我的问题是,如何将当前用户的用户 ID 放入 DetailsView INSERT 中?

<InsertParameters>
<asp:Parameter Name="UserID"/>
</InsertParameters>

I am still new to asp.net and I'm having a problem that I just can't figure out.
I'm using vb and the .net membership api.

My question is, how do I get the current user's userid into a DetailsView INSERT?

<InsertParameters>
<asp:Parameter Name="UserID"/>
</InsertParameters>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

左耳近心 2024-08-20 04:53:45

SqlDataSourceOnInserting 事件中,您可以使用 ProviderUserKey 属性从 Membership 表中检索 UserID MembershipUser 类。然后,您可以通过编程方式将此值分配给 UserID 插入参数。

protected void SqlDataSource_Inserting(object sender, SqlDataSourceCommandEventArgs e) 
{      
    MembershipUser currentUser = Membership.GetUser();      
    Guid id = (Guid)currentUser.ProviderUserKey;
    e.Command.Parameters["@UserID"].Value = id; 
}

In the OnInserting event of your SqlDataSource you can retrieve the UserID from the Membership table by using the ProviderUserKey property of the MembershipUser class. You can then programmatically assign this value to the UserID insert parameter.

protected void SqlDataSource_Inserting(object sender, SqlDataSourceCommandEventArgs e) 
{      
    MembershipUser currentUser = Membership.GetUser();      
    Guid id = (Guid)currentUser.ProviderUserKey;
    e.Command.Parameters["@UserID"].Value = id; 
}
¢好甜 2024-08-20 04:53:45

User.Identity.Name 将为您提供唯一的用户名。您可以在 aspnet_Users 表中找到该 ID。

User.Identity.Name will get you the unique user name. You can find the id in the aspnet_Users table.

娇俏 2024-08-20 04:53:45

只需在一行中这样做:

protected void Sql_OnInserting(object sender, SqlDataSourceCommandEventArgs e)
{
    e.Command.Parameters["@UserId"].Value = Membership.GetUser(HttpContext.Current.User.Identity.Name).ProviderUserKey;
}

Just do it like this in one line:

protected void Sql_OnInserting(object sender, SqlDataSourceCommandEventArgs e)
{
    e.Command.Parameters["@UserId"].Value = Membership.GetUser(HttpContext.Current.User.Identity.Name).ProviderUserKey;
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文