SelectCommand не работает, если ControlParameter не задан - PullRequest
0 голосов
/ 23 марта 2012

У меня есть текстовое поле с id = txt_SearchLibrary, которое также является моим параметром управления, который я использую для фильтрации своего sqldatasource. Я хочу получить все результаты, когда я не набираю что-то в поле searchtext, но ниже кодов приводит к 0 строкам , Я пробовал 2 пути, но оба не работали.

первый:

<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:MyDbConn %>"
            SelectCommand="SELECT * FROM [Books] WHERE ([BookName] LIKE '%' + @searchText + '%') OR  @searchText IS NULL">
    <SelectParameters>
        <asp:ControlParameter ControlID="txt_SearchLibrary" Name="searchText"
                    PropertyName="Text" Type="String" />
    </SelectParameters>
</asp:SqlDataSource>

второй:

<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:MyDbConn %>"
            SelectCommand="SELECT * FROM [Books] WHERE ([BookName] LIKE '%' + @searchText + '%')">
    <SelectParameters>
        <asp:ControlParameter ControlID="txt_SearchLibrary" DefaultValue="" Name="searchText"
                    PropertyName="Text" Type="String" />
    </SelectParameters>
</asp:SqlDataSource>

1 Ответ

0 голосов
/ 23 марта 2012

Свойство Text, вероятно, "" или String.Empty, а не NULL, которое вы проверяете в своем операторе SQL.

...