私はまだ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 挿入パラメーターに割り当てることができます。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 は一意のユーザー名を取得します。ID は aspnet_Users テーブルで確認できます。
次のように 1 行で実行します。
protected void Sql_OnInserting(object sender, SqlDataSourceCommandEventArgs e)
{
e.Command.Parameters["@UserId"].Value = Membership.GetUser(HttpContext.Current.User.Identity.Name).ProviderUserKey;
}