如何在ASP.Net Query Extender数据字段搜索中删除区分大小写



我对三个字段的文本框应用了查询扩展程序。它有效,但区分大小写。例如,如果用户名字段的名称为"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>

根据文档:

搜索表达式中的大小写敏感性取决于您在QueryExtender控件中指定的LINQ提供程序。

如果在QueryExtender控件中使用的LINQ提供程序支持区分大小写,则可以使用ComparisonType属性启用或忽略区分大小写。

另一种可能性-数据库排序

也许您的数据库设置为区分大小写。如果您使用的是SQL Server,则会有一些链接。

SQL Server排序规则描述

排序规则的描述

如果您查看MSDN上关于该控件的文档,您会看到如何处理区分大小写:

搜索表达式中的大小写敏感性取决于您在QueryExtender控件中指定的LINQ提供程序。

试试这个:

SearchExpression.ComparisonType设置为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

相关内容

  • 没有找到相关文章

最新更新