添加到visible属性时,String未被识别为有效的布尔值

时间:2014-07-17 13:32:12

标签: c# listview visibility itemtemplate

我正在尝试向listview itemtemplate表添加true或false Visible属性。我所做的是我有一个在页面加载时设置的隐藏字段,以便我可以使特定列可见或不可见。这是我的隐藏字段和专栏:

隐藏的字段

<asp:HiddenField ID="uoHiddenFieldPriority" runat="server" Value="false" />

Td专栏

<td class="leftAligned" visible='<%# (Convert.ToBoolean(uoHiddenFieldPriority.Value)) %>' >
some Text
</td>

这是我在后端的代码:

  int visibility = 0;
  if (visibility = 0)//sample condition I am using to test if the value is changing
     {
        SelectTH.Visible = false;// this is working, this is for the column header
        uoHiddenFieldPriority.Value = "False"; //this is not
                }

会发生错误“String未被识别为有效布尔值”的错误。我对c#并不是那么精通,这就是为什么我决定使用这种方式来获得列的可见性。

1 个答案:

答案 0 :(得分:6)

您要将字符串值"False"分配给Boolean属性,因此在分配之前,您应该使用Convert.ToBoolean()方法正确转换它。

OR

您可以直接指定布尔值false而不使用任何引号。

替换它:

uoHiddenFieldPriority.Value = "False"; 

有了这个:

uoHiddenFieldPriority.Value = Convert.ToBoolean("False"); 

OR

uoHiddenFieldPriority.Value = false;