저는 아직 asp.net을 처음 사용하고 있습니다. 알아낼 수없는 문제가 있습니다. VB와 .net 회원 API를 사용하고 있습니다.SQLDataSource에 UserId 가져 오기
제 질문은 현재 사용자의 사용자 ID를 어떻게 DetailsView INSERT에 가져 오나요?
<InsertParameters>
<asp:Parameter Name="UserID"/>
</InsertParameters>
저는 아직 asp.net을 처음 사용하고 있습니다. 알아낼 수없는 문제가 있습니다. VB와 .net 회원 API를 사용하고 있습니다.SQLDataSource에 UserId 가져 오기
제 질문은 현재 사용자의 사용자 ID를 어떻게 DetailsView INSERT에 가져 오나요?
<InsertParameters>
<asp:Parameter Name="UserID"/>
</InsertParameters>
당신의 SqlDataSource
당신이 MembershipUser
클래스의 ProviderUserKey
속성을 사용하여 회원 테이블에서 UserID
를 검색 할 수 있습니다. 그런 다음이 값을 프로그래밍 방식으로 UserID 삽입 매개 변수에 할당 할 수 있습니다.
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 테이블에서 찾을 수 있습니다. 의 OnInserting
이벤트에서
그냥 한 줄에 다음과 같이 그것을 : (VB로 변환 후) 완벽하게 작동
protected void Sql_OnInserting(object sender, SqlDataSourceCommandEventArgs e)
{
e.Command.Parameters["@UserId"].Value = Membership.GetUser(HttpContext.Current.User.Identity.Name).ProviderUserKey;
}
. 많이 sooooooo 고마워! 나는 그 해결책에 정말로 가까웠다. 단지 그것을 얻을 수 없었다. 고마워요 Phaedrus, 락! 우 ~ 후! !!!!! – Cronner
@Cronner : 이것을 허용 된 대답으로 표시하는 것을 잊지 마십시오. –