如何在gridview editmode中选中或取消选中复选框

时间:2012-05-02 18:09:57

标签: c# asp.net visual-studio-2010 gridview

我制作了一个gridview,它有很多列和editmode,有些是文本和下拉列表都很完美。

如何为复选框指定值以使其选中或取消选中?

我想要做的值是是/否。

所以我在做这件事时遇到了麻烦。

我的网格视图:只是粘贴它的一部分太大了。

<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>

在这种情况下,当我们收到时,我会检查复选框是否正确,但是如果没有则不会运行可能的错误,因为在checboxlist中没有选择值'NO'。任何解决方案。

谢谢

1 个答案:

答案 0 :(得分: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) %>' />