我的.aspx頁面上有一個SqlDataSource SelectCommand。使用代碼塊選擇User.Identify.Name
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:MyConnectionString %>"
SelectCommand="SELECT * FROM [UserResult]"
OnSelecting="SqlDataSource1_Selecting">
</asp:SqlDataSource>
該聲明將grep表UserResult
中的數據列表。
但是我只想列出屬於用戶的特定結果。
我重視的UserResult
表是username
一列,我試圖形成這樣一個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
@Inddial - 非常好的一點!改變我的答案吧.. – Curt
@Curt謝謝你,但我的datagrid仍然顯示空數據,儘管我的代碼更改爲你的。 – gymcode