以下工作正常,並基於在我的文本框中輸入的文本過濾我的gridview。如何在沒有文本輸入到依賴文本框中時顯示所有表格行?
當沒有文本輸入到我的文本框中時,我沒有得到任何結果,也無法理解爲什麼。
我的問題
如何獲得一個gridview顯示所有錶行時在文本框中輸入任何文字?
MSSQL
@Search nvarchar(50)
SELECT [table].[column]
FROM [table]
WHERE [table].[column] LIKE '%' + @Search + '%' OR COALESCE(@Search,'') = ''
MARKUP
<asp:TextBox ID="txtSearch" RunAt="Server" Text=""/>
<asp:SqlDataSource ID="sqlSearch" RunAt="Server" SelectCommand="spSearch" SelectCommandType="StoredProcedure">
<SelectParameters>
<asp:ControlParameter Type="String" Name="Search" ControlID="txtSearch" PropertyName="Text"/>
</SelectParameters>
</asp:SqlDataSource>
結果的GridView
我曾嘗試和測試在這裏找到很多方法但是都返回0結果時字符串是空的。
我試着用<<< declare @Search nvarchar(50)查詢您的查詢;設置@搜索=''>>>。它似乎工作正確,返回所有行。 –
SQL代碼看起來是正確的,如果txtSearch爲空,你確定它被調用嗎?網頁上是否有可能阻止通話的驗證? – Netricity
這可能是值得嘗試設置SqlDataSource的** CancelSelectOnNullParameter ** ** ** ** – Netricity