0

我将查询扩展器应用于三个字段的文本框。它的工作,但它是区分大小写的。例如,如果用户名字段的名称为“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

尝试这个:

设置SearchExpression.ComparisonTypeStringComparison.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 回答
0

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

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

于 2015-03-04T15:54:25.443 回答
0

根据文档

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

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

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

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

SQL Server 排序规则说明

归类的描述

于 2015-03-04T16:03:08.073 回答