我还是 asp.net 的新手,我遇到了一个我无法弄清楚的问题。我正在使用 vb 和 .net 会员 api。
我的问题是,如何将当前用户的用户 ID 放入 DetailsView INSERT?
<InsertParameters>
<asp:Parameter Name="UserID"/>
</InsertParameters>
我还是 asp.net 的新手,我遇到了一个我无法弄清楚的问题。我正在使用 vb 和 .net 会员 api。
我的问题是,如何将当前用户的用户 ID 放入 DetailsView INSERT?
<InsertParameters>
<asp:Parameter Name="UserID"/>
</InsertParameters>
在您的情况OnInserting
下,您SqlDataSource
可以使用类的属性UserID
从 Membership 表中检索。然后,您可以以编程方式将此值分配给 UserID 插入参数。ProviderUserKey
MembershipUser
protected void SqlDataSource_Inserting(object sender, SqlDataSourceCommandEventArgs e)
{
MembershipUser currentUser = Membership.GetUser();
Guid id = (Guid)currentUser.ProviderUserKey;
e.Command.Parameters["@UserID"].Value = id;
}
User.Identity.Name 将为您提供唯一的用户名。您可以在 aspnet_Users 表中找到该 ID。
只需在一行中这样做:
protected void Sql_OnInserting(object sender, SqlDataSourceCommandEventArgs e)
{
e.Command.Parameters["@UserId"].Value = Membership.GetUser(HttpContext.Current.User.Identity.Name).ProviderUserKey;
}