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

时间:2015-03-04 15:39:17

标签: c# asp.net servercontrols search-box query-extender

我将查询扩展程序应用于我的文本框中以获取三个字段。它的工作但它是区分大小写的。例如如果用户名字段具有名称" AWAIS"我搜索" awais" ,它不搜索和副virsa。我该如何消除敏感度?

我的代码是

    <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>

3 个答案:

答案 0 :(得分:0)

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

  

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

答案 1 :(得分:0)

试试这个:

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

答案 2 :(得分:0)

根据documentation

  

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

     

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

另一种可能性 - 数据库整理

也许您的数据库设置为区分大小写。如果您正在使用SQL Server,请使用一些链接。

SQL Server Collation Description

Description of Collations