2

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

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

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

3 回答 3

5

在您的情况OnInserting下,您SqlDataSource可以使用类的属性UserID从 Membership 表中检索。然后,您可以以编程方式将此值分配给 UserID 插入参数。ProviderUserKeyMembershipUser

protected void SqlDataSource_Inserting(object sender, SqlDataSourceCommandEventArgs e) 
{      
    MembershipUser currentUser = Membership.GetUser();      
    Guid id = (Guid)currentUser.ProviderUserKey;
    e.Command.Parameters["@UserID"].Value = id; 
}
于 2009-12-05T23:40:17.137 回答
0

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

于 2009-12-05T22:54:05.173 回答
0

只需在一行中这样做:

protected void Sql_OnInserting(object sender, SqlDataSourceCommandEventArgs e)
{
    e.Command.Parameters["@UserId"].Value = Membership.GetUser(HttpContext.Current.User.Identity.Name).ProviderUserKey;
}
于 2012-12-31T07:59:44.633 回答