c# - 绑定(bind) ListView 时无法将类型 'string' 转换为 'bool'

标签 c# asp.net entity-framework listview .net-4.5

我尝试在 ListView 中绑定(bind) Checkbox Checked 属性像这样:

<asp:CheckBox ID="chk_holi_sal" runat="server" Class="chk_holi_sal" Checked="<%#:Item.HasSal%>" />

public bool HasSal
{
    get { return SALARY_CALC == 1; }
}

但我得到以下编译器错误:

Compiler Error Message: CS0030: Cannot convert type 'string' to 'bool'

我检查 <%#:Item.HasSal%> 的值并发现它等于True或者 False

为什么我总是收到这个错误?


根据答案使用Eval而不是利用 strongly type ListView 的值控制,我面临新的异常:

enter image description here

最佳答案

试试这个代码

<asp:CheckBox  ID="chk_holi_sal" runat="server" Checked="<%# Convert.ToBoolean(Eval("Item.HasSal")) %>"  />

或使用三元运算符

<asp:CheckBox  ID="chk_holi_sal" runat="server" Checked=
  <%# Convert.ToBoolean(Eval("Item.HasSal")) ? true : false %> /> 

关于c# - 绑定(bind) ListView 时无法将类型 'string' 转换为 'bool',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39945156/

相关文章:

c# - EF add 没有添加到数据库

c# - Azure Webjob在0秒后重新启动。为什么?

c# - 从 WindowsAzure.Storage 迁移到 Azure.Storage 包时引用 CloudStorageAccount 中的服务

c# - IIS 回收时运行的任务会发生什么

c# - 如何在 IQueryable 对象的 LINQ 查询的 where 子句中调用方法

c# - 在使用 MySQL 数据库生成模型期间检测到 EF6 验证错误

c# - 在另一个类中初始化的变量在从另一个类访问时返回 null

c# - 如何使用 Windows Media Player 播放 List<Song> 中的所有歌曲?

c# - 当我们使用时线程被中止

c# - 当你的 MVC/Web API 不是从上到下异步时会发生什么?