У меня есть список данных на странице 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
как null
. Я прокручиваю этот же самый список данных на другой странице, и это не доставляет мне проблем. Так может ли кто-нибудь сказать мне, что я делаю неправильно, и что я могу сделать, чтобы обойти эту проблему?
Если потребуется дополнительный код, я обновлю решение.