[英]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.