繁体   English   中英

GridView与ASP.NET中的复选框

[英]GridView with Checkbox in ASP.NET

我正在使用Visual Studio 2008在C#中编码ASP.NET

我试图在Gridview中获取值选中或未选中的表单复选框。 这是我的代码。

void imbTransferBySelect_Click(object sender, ImageClickEventArgs e)
{
    for (int i = 0; i < GridView1.Rows.Count; i++)
    {
        CheckBox cb = (CheckBox)GridView1.Rows[i].FindControl("Transfer_Selector");
        if (cb.Checked)
        {
            //do something
        }
    }
}

取消选中该复选框后,代码可以正常运行。

但是,当选中GridView1.Rows.Count = 0复选框时,make for循环将失败

我尝试在http://www.aspsnippets.com/Articles/GridView-with-CheckBox-Get-Selected-Rows-in-ASPNet.aspx中使用其他代码

foreach (GridViewRow row in GridView1.Rows)
{
    if (row.RowType == DataControlRowType.DataRow)
    {
        CheckBox chkRow = (row.Cells[0].FindControl("Transfer_Selector") as CheckBox);
        if (chkRow.Checked)
        {
            //do something
        }
    }
}

如果未选中此复选框,则运行正常。

当复选框被选中时,for-each中的make循环再次失败。

任何人都遇到过像我这样的问题,或者知道发生了什么事。

好友只是根据您的问题在foreach循环上放置了一个if条件,我正在为您提供解决方案。 检查下面的解决方案。

if(GridView1.Rows.Count > 0 )
{
foreach (GridViewRow row in GridView1.Rows)
{
    if (row.RowType == DataControlRowType.DataRow)
    {
        CheckBox chkRow = (row.Cells[0].FindControl("Transfer_Selector") as CheckBox);
        if (chkRow.Checked)
        {
            //do something
        }
    }
}
}

暂无
暂无

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

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