这个GridView代码C#出了什么问题?

时间:2014-05-16 18:25:29

标签: c# javascript asp.net gridview

我有一个带复选框的GridView。如果我单击一个复选框,我想获取该行中的值。 问题是chk(在C#代码中)永远不会得到值" true"所以代码永远不会进入if语句。

感谢您的帮助。我现在在这个问题上度过了两个晚上。

C#

    protected void btnChange_Click(object sender, EventArgs e)
    {
        string id= "";
        string name = "";

        foreach (GridViewRow row in GridView1.Rows)
        {
            CheckBox chk = (CheckBox)row.FindControl("myCheckBox");
            if (chk != null && chk.Checked)
            {
                id = row.Cells[1].Text;
                name = row.Cells[2].Text;
            }
        }          
    }

ASP.NET

   <div style="height:200px; width:450px; overflow:scroll;">
                            <asp:GridView ID="GridView1" runat="server" GridLines="Horizontal" HeaderStyle-BackColor="#FFF8C6" HeaderStyle-ForeColor="Black" Height="200px" Width="450px">
                                <HeaderStyle HorizontalAlign="Left" />
                                <Columns>
                                    <asp:TemplateField>
                                        <ItemTemplate>
                                            <asp:CheckBox ID="myCheckBox" runat="server" />
                                        </ItemTemplate>
                                    </asp:TemplateField>
                                </Columns>
                            </asp:GridView>
                        </div>

1 个答案:

答案 0 :(得分:0)

问题解决了! 我找到了这个解决方案:

试试这个:

检查你是否已将用于绑定数据的代码放入

中的GridView
If (!IsPostBack)
{
     //Code for Binding Data to GridView 
}

来自此链接:CheckBox Checked state inside gridview