Sneha Bhushan Ответов: 1

Как я могу динамически присваивать значения меткам в 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;

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

1 Ответов

Рейтинг:
1

536987524

Например страница aspx выглядит так

&ЛТ;АСП:кнопка ID="AddControlButton" атрибут runat="сервер" текст="Нажми меня" функция onclick="AddControlButton_Click"&ГТ;
&ЛТ;АСП:заполнитель идентификатор="заполнитель" атрибут runat="сервер"и GT;


protected void Page_Init(object sender, EventArgs e)
{
    var label = new Label();
    label.ID = "lblTest";
    label.Text = "Label Before Click";
    placeHolder.Controls.Add(label);
}


protected void AddControlButton_Click(object sender, EventArgs e)
{
    Label label = (Label)placeHolder.FindControl("lblTest");
    label.Text = "Label After Click!";
}