我使用Visual Studio 2008在C#中編寫ASP.NET#GridView與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
價值是讓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循環中再次失敗。
任何人都有過像我這樣的問題,或知道發生了什麼事。
什麼意思「當複選框被選中GridView1.Rows.Count = 0的值它的循環失敗」?如果沒有包含「CheckBox」的行,如何檢查複選框? – 2015-02-12 08:13:41
是的,當複選框檢查GridView1.Rows.Count = 0時,我在調試步驟中看到它,並且代碼運行完成時gridview丟失 – benmore99 2015-02-12 08:20:50
我嘗試更改複選框默認選中.aspx文件並運行再一次,它又失敗了,但是當我全部取消選中時,它可以在for循環中運行,並且它進入檢查狀態。對不起,我的問題,它應該讓你混淆。 – benmore99 2015-02-12 08:37:18