2013-10-23 46 views
1

我想从后面的代码中设置标签文本。 这是我的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'。 我该怎么办?请帮忙!!!!!

回答

1

创建和代码的标签文本后面

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

,如果你想找到一个已经exisisting标签和更改文本:

Label lb = (Label)FindControl("LabelID"); 
lb.Text = "New text"; 
2

代码中的标签不是ASP.NET控件。您应该使用:

<asp:Label 

,而不是仅仅

<label 
+0

谢谢丹尼尔,它工作 –