【问题标题】:bind gridview with one column having a checkbox将 gridview 与具有复选框的一列绑定
【发布时间】:2016-06-15 17:39:36
【问题描述】:

我有一个网格视图,其中一列有一个复选框。我想将gridview绑定到数据源并根据预定义的状态值相应地选中/取消选中复选框; (1 为真,0 为假)。

这是我的尝试:

        <asp:TemplateField HeaderText="Cerrada">
            <ItemTemplate>
                <asp:CheckBox ID="CBCerrada" runat="server" Checked="<% if (Eval("cerrada").ToString() == "1") { %>true<% } else if (Eval("cerrada").ToString() == "0") { %>false<% } %>" />
            </ItemTemplate>
        </asp:TemplateField>

但我收到以下错误:“服务器标签不能包含 构造”

【问题讨论】:

    标签: c# asp.net gridview checkbox


    【解决方案1】:

    您的语法不正确。请参阅以下示例,了解如何映射您的值

    <asp:CheckBox ID="CBCerrada" 
                  runat="server" 
                  Checked='<%# (Eval("cerrada").ToString().Equals("1") ? true : false) %>' />
    

    【讨论】:

    • 我仍然不知道如何根据预定义的值绑定复选框状态(0 为 false,1 为 true)
    • 现在我收到以下错误:“字符串未被识别为有效的布尔值”
    • 我认为他的价值观实际上是01。我怀疑您是否可以将它们解析为布尔值。您可能必须使用int.Parse(Eval("cerrada")) == 1Eval("cerreda").ToString() == "1"
    • @DavidM 你可以考虑接受这个作为答案,这样它就不会显示在未回答的列表中:)
    【解决方案2】:

    对选中的属性使用单引号,而您在 % 之后缺少 #

     <asp:TemplateField HeaderText="Cerrada">
            <ItemTemplate>
                <asp:CheckBox ID="CBCerrada" runat="server" Checked='<%# Eval("cerrada") %>' />
            </ItemTemplate>
     </asp:TemplateField>
    

    【讨论】:

    • 我仍然不知道如何根据预定义的值绑定复选框状态(0 为 false,1 为 true)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多