0

3 つのフィールドのテキスト ボックスにクエリ エクステンダーを適用しました。動作していますが、大文字と小文字が区別されます。たとえば、ユーザー名フィールドに「AWAIS」という名前があり、「awais」を検索すると、検索されず、その逆も同様です。感度を削除するにはどうすればよいですか?

私のコードは

    <td>
                <asp:LinqDataSource ID="LinqDataSource1" runat="server" ContextTypeName="BookStore.Bussines.Entities.BookStoreEntities"
                    OnSelecting="LinqDataSource1_Selecting">
                </asp:LinqDataSource>
                <asp:QueryExtender ID="qeSearch" runat="server" TargetControlID="LinqDataSource1">
                    <asp:SearchExpression DataFields="DISTRIBUTOR_NAME,DISTRIBUTOR_CODE,DISTRIBUTOR_URL" SearchType="Contains">
                        <asp:ControlParameter ControlID="txtSearchDistributor" />
                    </asp:SearchExpression>
                </asp:QueryExtender>
            </td>
4

3 に答える 3

0

ドキュメントによると:

検索式での大文字と小文字の区別は、QueryExtender コントロールで指定する LINQ プロバイダーによって異なります。

QueryExtender コントロールで使用する LINQ プロバイダーが大文字と小文字の区別をサポートしている場合は、ComparisonTypeプロパティを使用して、大文字と小文字の区別を有効または無視できます。

別の可能性 - データベース照合

データベースが大文字と小文字を区別するように設定されている可能性があります。SQL Server を使用している場合のリンク。

SQL Server 照合順序の説明

照合の説明

于 2015-03-04T16:03:08.073 に答える
0

Try this:

Set SearchExpression.ComparisonType to StringComparison.OrdinalIgnoreCase

<asp:SearchExpression DataFields="DISTRIBUTOR_NAME,DISTRIBUTOR_CODE,DISTRIBUTOR_URL" SearchType="Contains" ComparisonType=StringComparison.OrdinalIgnoreCase>
                        <asp:ControlParameter ControlID="txtSearchDistributor" />
                    </asp:SearchExpression>

https://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.expressions.searchexpression.comparisontype%28v=vs.110%29.aspx

https://msdn.microsoft.com/en-us/library/system.stringcomparison%28v=vs.110%29.aspx

于 2015-03-04T15:57:34.340 に答える