2

Access와 함께 VisualWebDeveloperExpress2008을 사용하고 있습니다.현재 로그인 한 사용자를 쿼리에 사용하십시오.

사용자가 자신의 데이터를 편집하도록하고 싶은 경우가 있습니다. 여기에는 UserId가 사이트를 사용하는 사용자의 UserID와 일치해야하는 쿼리가 포함됩니다.

어디에서 UserId =?를 사용할 것으로 예상되지만 "?"을 지시 할 위치를 찾지 못했습니다.

IDE에는 몇 가지 선택 사항이 있지만 선택할 방법이 확실하지 않습니다. 약속 한 것으로 보이지만 작동하지 않습니다.

<SelectParameters> 
    <asp:ProfileParameter Name="UserID" PropertyName="UserId" Type="Int32" /> 
</SelectParameters> 

Select Parameter에는 무엇을 사용하는 것이 가장 좋습니까?

답변

1

시도는 다음 ...

Session["CurrentUser"] = User.Identity.Name; 

이 당신을 위해 작동합니다 삽입합니다.

+1

세션 시작 이벤트 처리기에 넣는 것이 더 좋습니다 – SillyMonkey

+0

@SillyMonkey, 아주 좋은 지적입니다. +1 – jinsungy

+0

이 작품은 나를 위해. 이제 이것을 "세션 시작 이벤트 핸들러"에 넣는 방법을 연구해야합니다. – Degan

1

User.Identity.Name은 로그인 한 사용자의 사용자 이름을 제공해야합니다.

이제 UserID를 얻으려면 사용자 이름을 사용하여 데이터베이스에서 확인해야합니다. 또는 select 문에서 대신 사용자 이름을 사용하도록 만들 수 있습니다. 를 Page_Load에

<SelectParameters> 
    <asp:SessionParameter Name="UserName" SessionField="CurrentUser" Type="String" /> 
</SelectParameters> 

를 사용

+0

사용자 이름이있는 경우 사용자 이름을 직접 입력하는 것이 좋습니다. " " 이로 인해 오류가 발생합니다. DataBinding : 'ProfileCommon'에 'User'라는 이름의 속성이 없습니다. 어쩌면 뭔가 다른 것을 의미할까요? – Degan

관련 문제