添加到可见属性时,字符串未被识别为有效的布尔值
Posted
技术标签:
【中文标题】添加到可见属性时,字符串未被识别为有效的布尔值【英文标题】:String was not recognized as a valid Boolean when added to visible attribute 【发布时间】:2014-09-08 09:52:44 【问题描述】:我正在尝试向我的listview
itemtemplate
表添加一个真或假可见属性。我所做的是我在页面加载时设置了一个隐藏字段,以便我可以使特定列可见或不可见。这是我的隐藏字段和专栏:
隐藏字段
<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