添加到可见属性时,字符串未被识别为有效的布尔值

本文关键字:识别 有效 布尔值 字符串 属性 添加 | 更新日期: 2023-09-27 18:13:31

我试图添加一个真或假可见属性到我的listview itemtemplate表。我所做的是,我有一个隐藏字段设置在页面加载,这样我就可以使一个特定的列可见或不可见。这是我的隐藏字段和列:

隐藏字段

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

<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 was not recognized as a valid Boolean"。我不是很精通c#,这就是为什么我决定用这种方式来获得列的可见性。

添加到可见属性时,字符串未被识别为有效的布尔值

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

可以直接赋值布尔值false,不需要引号

替换:

uoHiddenFieldPriority.Value = "False"; 
与这个:

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

uoHiddenFieldPriority.Value = false;