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

Posted

技术标签:

【中文标题】添加到可见属性时,字符串未被识别为有效的布尔值【英文标题】:String was not recognized as a valid Boolean when added to visible attribute 【发布时间】:2014-09-08 09:52:44 【问题描述】:

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

隐藏字段

<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
                

发生的情况是抛出错误“字符串未被识别为有效的布尔值”。我对 c# 不是很精通,这就是为什么我决定使用这种方式来获取列的可见性。

【问题讨论】:

去掉引号。 【参考方案1】:

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

您可以直接分配布尔值false 而无需任何引号。

替换这个:

uoHiddenFieldPriority.Value = "False"; 

有了这个:

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

uoHiddenFieldPriority.Value = false;

【讨论】:

但是我在一个隐藏字段中传递它,它是一个字符串。我可以更改我的隐藏字段以便它可以接受布尔值吗? 你能显示你是如何在隐藏字段中传递它的吗? 如果您将其分配给字符串类型的变量:string str = "" + false;

以上是关于添加到可见属性时,字符串未被识别为有效的布尔值的主要内容,如果未能解决你的问题,请参考以下文章

字符串未被识别为有效的日期时间[关闭]

DatePicker 绑定到 DateTime。 “字符串未被识别为有效的日期时间”

字符串“04/28/2021 04:25p”未被识别为有效的日期时间

SQLite 和 .net 字符串未被识别为有效的 DateTime

尝试使用linq过滤数据时,字符串未被识别为有效的DateTime

Apollo Server,datasource-sql 子类未被识别为有效的 DataSource 类型