繁体   English   中英

此GridView代码C#有什么问题?

[英]What's wrong with this GridView code C#?

我有一个带有复选框的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>

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

尝试这个:

检查Wheather,您已将用于将数据绑定到GridView的代码放在

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

从此链接: CheckBox gridview内部的已检查状态

暂无
暂无

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

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