Как я могу динамически присваивать значения меткам в C# .NET
У меня есть несколько элементов управления метками asp в форме на странице aspx. Я получаю текстовые значения из базы данных, и теперь я хочу, чтобы текст элемента управления label был назначен динамически.
Я пытаюсь это сделать:
for(int i=1; i<5; i++) { Label mylabel = (Label)Page.FindControl("lblColName" + i); if (mylabel != null) { mylabel.Text = "Excellent!" + i; } }
но становится нулевым.
Пожалуйста, помогите мне решить эту проблему.
Заранее спасибо.
Что я уже пробовал:
даже если я попытаюсь ниже, я получу ноль
Label mylabel = (Label)Page.FindControl("lblColName"); if (mylabel != null) { mylabel.Text = "Excellent!" ; }
Andy Lanng
Похоже, что вы добавляете элементы управления динамически. Если да, то не могли бы вы показать нам код, который вы используете для создания этикеток, пожалуйста.
Sneha Bhushan
я не добавляю метки динамически, только хочу назначить label.text динамически
Sneha Bhushan
&ЛТ;АСП:метка идентификатор="lblColName1" атрибут runat="сервер"и GT;
0x01AA
Проверить это: Как найти элемент управления с текущей страницы при использовании masterpage[^]
Sneha Bhushan
Привет, я пробовал, но не получилось..
BillWoodruff
Посмотрите, поможет ли это: https://stackoverflow.com/a/9830488/133321
Sneha Bhushan
Спасибо, Билл Вудрафф, это сработало для меня.
RmcbainTheThird
Можете ли вы показать разметку для этикетки? Например, на одной из моих страниц aspx у меня есть метка, определенная как <asp:label id="lblGreeting" runat="server"> и в коде позади я могу присвоить значение таким образом: lblGreeting.Text = prefName + "!";
Rajat-Indiandotnet
похоже, что ярлык находится не прямо на странице. Вполне возможно, что они находятся в каком-то другом элементе управления, например панели. Если это правда, то проверьте следующий сценарий
https://stackoverflow.com/questions/20699059/how-to-find-label-controls-in-an-asp-net-page