내 .aspx 페이지에 SqlDataSource SelectCommand가 있습니다.코드 블록을 사용하여 User.Identify.Name을 선택하십시오.
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:MyConnectionString %>"
SelectCommand="SELECT * FROM [UserResult]"
OnSelecting="SqlDataSource1_Selecting">
</asp:SqlDataSource>
이 문은 테이블 UserResult
의 데이터 목록을 grep합니다.
그러나 사용자에게 속한 특정 결과 만 나열하고 싶습니다.
나는 username
인 UserResult
테이블의 열을 첨부하고, 나는이 같은 SQL 문을 형성하기 위해 시도했지만 사용자 User.Identity.nAME
를 검색 할 것 같다
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:SODConnectionString %>"
SelectCommand="SELECT * FROM [UserResult] WHERE [username] LIKE 'User.Identity.Name'";"
OnSelecting="SqlDataSource1_Selecting">
</asp:SqlDataSource>
은 내가 어떻게 할 수 알고있다 그것?
업데이트 : 커트에서 솔루션에서
, 나는 다음과 같은 구현하기 위해 노력했다 :
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:SODConnectionString %>"
SelectCommand="SELECT * FROM [UserResult] WHERE [username][email protected]"
OnSelecting="SqlDataSource1_Selecting">
<SelectParameters>
<asp:Parameter Name="username" Type="String" DefaultValue='<%=User.Identity.Name %>' />
</SelectParameters>
</asp:SqlDataSource>
그러나 나는 아직도 사용자 이름에 따라 데이터를 검색 할 수 없습니다입니다.
은 내가
username
매개 변수로 하드 코드에 사용자 이름을 시도하고 일 :
누구든지 도울 수? 이것은 문자열로 설정되어 있기 때문에
<asp:Parameter Name="username" Type="String" DefaultValue="james" />
[Bobby Tables] (http://xkcd.com/327/)를주의하십시오. – millimoose
@Inerdial - 아주 좋은 지적입니다! 내 대답을 지금 변경하십시오. – Curt
@Curt 감사합니다. 그러나 내 DataGrid는 코드를 변경하더라도 빈 데이터를 표시합니다. – gymcode