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