繁体   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