简体   繁体   English

在网格视图中,checkbox.checked始终为false

[英]checkbox.checked is always false in a grid view

I am always getting checkbox checked property as a false even if it is checked on gridview.I have tried the other answers on this forum like enableviewstate set to false but didn't worked. 即使在gridview上将其选中,我也总是将checkbox checked属性设置为false。 Please help. 请帮忙。

Here is my Design 这是我的设计

<form id="form1" runat="server">
<table class="style1">
    <tr>
        <td align="center">
            TPA Batch Auditing</td>
    </tr>
    <tr>
        <td>               
        </td>
    </tr>
    <tr>
        <td align="center">               
            <asp:GridView ID="GridView_BatchAuditing" runat="server" Width="80%" 
                EnableModelValidation="True" >
                <Columns>
                    <asp:TemplateField>
                        <ItemTemplate>
                            <asp:CheckBox ID="CheckBox1" EnableViewState="true" runat="server" />
                        </ItemTemplate>
                    </asp:TemplateField>
                </Columns>
                <HeaderStyle BackColor="#3399FF" />
            </asp:GridView>               

            <div id="DivNoRec" runat="server">
            <table class="style1" border="1">
                <tr>
                    <td bgcolor="#3399FF">
                        &nbsp;</td>
                    <td bgcolor="#3399FF">
                        &nbsp;</td>
                    <td bgcolor="#3399FF">
                        &nbsp;</td>
                    <td bgcolor="#3399FF">
                        &nbsp;</td>
                </tr>
                <tr>
                    <td width="25%">
                        &nbsp;</td>
                    <td align="center" colspan="2">
                        <strong>No Record Found</strong></td>
                    <td width="25%">
                        &nbsp;</td>
                </tr>
            </table>
            </div>
        </td>
    </tr>
    <tr>
        <td align="center">
            <asp:Button ID="Button_BatchAuditing" runat="server" Font-Bold="True" 
                Height="44px" onclick="Button_BatchAuditing_Click" Text="BatchAuditing" 
                Width="142px" Font-Size="Small" />
        </td>
    </tr>
</table>
</form>

C# code C#代码

protected void Button_BatchAuditing_Click(object sender, EventArgs e)
{
    foreach (GridViewRow gvRow in GridView_BatchAuditing.Rows)
    {
        CheckBox cbx = (CheckBox)gvRow.FindControl("CheckBox1");
        if (cbx.Checked == true)
        {     
            //int i=0;
            //my code
            //cbx.Checked = false;
        }
    }
}

Make sure that you have used isPostback property while binding your data on Page_Load event. 在绑定Page_Load事件上的数据时,请确保已使用isPostback属性。

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        //code to bind data to gridview
    }

}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM