簡體   English   中英

如何在轉發器內獲取Label而不是itemdatabound

[英]How to get Label inside repeater not in itemdatabound

我試圖在“for”循環中在轉發器中獲得一個標簽,但我一直收到錯誤說:

“mscorlib.dll中出現'System.ArgumentOutOfRangeException'類型的異常,但未在用戶代碼中處理

附加信息:指數超出范圍。 必須是非負的且小於集合的大小。“

這是我的代碼:

for (var i = 0; i < dt.Rows.Count; i++)
{
    Label AppAmmount = (Label)rpOffers.Items[i].FindControl("AppAmmount");
}

您正在循環dt.Rows.Count但您正在訪問rpOffers.Items 似乎DataTable包含的行多於轉發器。

但為什么不是一個簡單的foreach

foreach(RepeaterItem item in rpOffers.Items)
{
    Label AppAmmount = (Label)item.FindControl("AppAmmount");
}

您可以使用rpOffers.Items.Count而不是dt.Rows.Count

for (var i = 0; i < rpOffers.Items.Count; i++)
{
    Label AppAmmount = (Label)rpOffers.Items[i].FindControl("AppAmmount");
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM