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

mar*_*ike 5 c# listview visibility itemtemplate

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

隐藏的领域

<asp:HiddenField ID="uoHiddenFieldPriority" runat="server" Value="false" />
Run Code Online (Sandbox Code Playgroud)

Td专栏

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

这是我在后端的代码:

  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
                }
Run Code Online (Sandbox Code Playgroud)

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

Sud*_*udi 7

要指定字符串值"False"Boolean属性,以便分配给它之前,你应该使用正确的将其转换Convert.ToBoolean()方法.

要么

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

替换这个:

uoHiddenFieldPriority.Value = "False"; 
Run Code Online (Sandbox Code Playgroud)

有了这个:

uoHiddenFieldPriority.Value = Convert.ToBoolean("False"); 
Run Code Online (Sandbox Code Playgroud)

要么

uoHiddenFieldPriority.Value = false;
Run Code Online (Sandbox Code Playgroud)