0

我做了一个gridview,它有很多列和editmode,有些是文本,下拉列表工作得很好。

如何为 Checkbox 赋值以使其选中或取消选中?

我想做的值是是/否。

所以我很难做到这一点。

我的 Gridview:只是粘贴它的一部分,因为它太大了。

<asp:TemplateField HeaderText="CUpdate">
    <ItemTemplate >
         <asp:Label ID="Label6" runat="server" Text='<%# Eval("CUpdate") %>' ></asp:Label>
    </ItemTemplate>
    <EditItemTemplate>
         <asp:TextBox runat="server" ID="txtCupdate" Text='<%# Eval("CUpdate") %>' ></asp:TextBox>
    </EditItemTemplate>
</asp:TemplateField>

<asp:TemplateField HeaderText="Email">
    <ItemTemplate >
        <asp:Label ID="Label6" runat="server" Text='<%# Eval("Email") %>' ></asp:Label>
    </ItemTemplate>
    <EditItemTemplate>
        <asp:CheckBoxList ID="checkEmail"  runat="server">
            <%--HOW TO MAKE THIS CHECKED OR UNCHECKED ? when i have values Yes / NO--%>

        </asp:CheckBoxList>
     </EditItemTemplate>
</asp:TemplateField>

更新

如果我将上述内容设为:

 <EditItemTemplate>
        <asp:CheckBoxList ID="checkEmail" selectedvalue='<%# Eval("Email") %>'  runat="server">
            <asp:ListItem Value="Yes">Yes</asp:ListItem>

        </asp:CheckBoxList>
     </EditItemTemplate>

在这种情况下,当我们出现 Yes 时,我会检查复选框,但如果在 NO 上,它不会运行可能的错误,因为在 checboxlist 中没有值“NO”可供选择。任何解决方案。

谢谢

4

1 回答 1

1

您的 CheckBoxList 需要具有所有可能的值,像这样..

<asp:CheckBoxList ID="checkEmail" selectedvalue='<%# Eval("Email") %>'  runat="server">
    <asp:ListItem Value="Yes">Yes</asp:ListItem>
    <asp:ListItem Value="No">No</asp:ListItem>
</asp:CheckBoxList>

虽然我不明白你为什么要使用 CheckBoxList 而不是像这样仅使用 1 个复选框..

<asp:CheckBox runat="server" ID="checkEmail" Checked = '<%# Eval("Email").ToString().Equals("yes", StringComparison.OrdinalIgnoreCase) %>' />
于 2012-05-02T18:20:12.180 回答