簡體   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