Найти метку по имени и установить текст метки из кода позади

Я хочу установить текст метки из кода позади. Вот моя страница aspx. У меня есть больше меток, таких как lbl2, lbl3..

<asp:LinkButton ID="btn1" runat="server" onclick="btn1_Click" >
                      <img id="img1" runat="server"  width="195" height="306" alt="slider"><label id="lb11" runat="server" /></asp:LinkButton>

В коде позади я это делаю

for (int i = 1; i <= dt.Rows.Count; i++)
            {
Label lbltest = new Label();
                lbltest = (Label)this.FindControl("lbl" + i.ToString()) as Label; 
                lbltest.Text = Convert.ToString(dt.Rows[i - 1]["Type"]);
}

Но я получаю сообщение об ошибке: невозможно преобразовать объект типа «System.Web.UI.HtmlControls.HtmlGenericControl» в тип «System.Web.UI.WebControls.Label». Что я должен делать ? Пожалуйста помоги!!!!!


person Saurabh Tiwari    schedule 23.10.2013    source источник


Ответы (2)


Создание и установка текста метки из кода позади

Label lb = new Label();
lb.Text = "SomeText";
lb.Id = "LabelID";
Form.Controls.Add(lb);

если вы хотите найти уже существующую метку и изменить текст:

Label lb = (Label)FindControl("LabelID");
lb.Text = "New text";
person Helmer    schedule 23.10.2013

Метка в вашем коде не является элементом управления ASP.NET. Вы должны использовать:

<asp:Label

а не просто

<label
person Daniel Frear    schedule 23.10.2013