为CheckBox控件设置SelectParameters asp:ControlParameter

时间:2017-04-10 19:50:00

标签: asp.net checkbox sqldatasource

我有一个GridView,我正在尝试根据Panel中几个控件(主要是TextBoxes)的输入来设置过滤器。我已经在其他地方完成了这个,没有我遇到困难的复选框,而且效果很好。但现在在这种情况下,我有一个复选框,为过滤器提供信息。

复选框如下所示:

<asp:CheckBox ID="TicketClosed_ChBox" runat="server" Width="25px" AutoPostBack="true"></asp:CheckBox>

在datasrouce的select语句中,我将其构建为:

AND (RTRIM(LTRIM(ISNULL(@TicketClosed, ''))) = '' OR TicketClosed LIKE '%' + @TicketClosed + '%') AND 

然后在for DataSource中,我在文本框控件中链接:

<asp:ControlParameter Name="TicketClosed" ControlID="TicketClosed_ChBox" Type="Boolean" ConvertEmptyStringToNull="true" />

问题在于它回来说“数据类型varchar和bit在add运算符中是不兼容的。”

我尝试将ControlParameter转换为Byte和其他几种类型,但它仍然失败。我真的不确定为什么我不能让它飞起来。

思想?

1 个答案:

答案 0 :(得分:0)

如果我没弄错的话,ConvertEmptyStringToNull仅适用于String的数据类型。复选框始终具有值,永远不会为NULL。尝试删除参数的该部分,看看是否有效。