我在一个名为 ascx 的页面上有一个数据列表shippingorders1
,我正在尝试访问名为lblGiftCodeAmount
. 我正在尝试遍历数据列表并检索标签的文本,将其转换为十进制并求和。在我的主页的点击事件中,我有以下内容:
decimal addGiftCards = 0.0M;
foreach(DataListItem dli in (DataList)Page.FindControl("ShippingOrders1").FindControl("dlGiftCodeAmount").Items)
{
addGiftCards += Convert.ToDecimal(((Label)dli.FindControl("lblGiftCodeAmount")).Text);
}
当它运行时,我会因为标签而NullReferenceException
上线。addGiftCards+=
在我输入时的即时窗口中:
(DataList)Page.FindControl("ShippingOrders1").FindControl("dlGiftCodeAmount").Items
它向我展示了我希望看到的所有内容,但是当我键入时dli
它返回DataItem
as null
。我在另一个页面上循环浏览这个完全相同的数据列表,它没有给我带来任何问题。那么谁能告诉我我做错了什么以及我能做些什么来解决这个问题?
任何额外的代码需要我都会更新解决方案。