如何动态地在.aspx文件中创建ASP.Net控件?

时间:2012-07-05 13:13:58

标签: asp.net

我必须在.aspx文件中创建一系列控件(超链接和标签)。最重要的是我必须控制生成的控件的ID。

我在我的.aspx文件中写了一些代码:

<%for (int i =1; i <= 5; i++){%>
      <asp:HyperLink ID="<%#GetContorlName("HyperLink",i,1)%>" CssClass="c083e01" runat="server">HyperLink</asp:HyperLink>
 <%} %>

GetContorlName()是在codebehind文件中定义的函数,它返回一个表示ID的字符串。

然而,这不起作用,它无法编译。

谁能帮我完成这项任务?请记住我必须在.aspx文件中动态创建控件,而不是.cs文件。

任何帮助将不胜感激!

3 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

使用数据绑定,并将控件嵌套在转发器中。请记住,Enumerable.Range()可以是有效的数据源。

答案 2 :(得分:0)

为您的超链接尝试此方法

TextBox txt = new TextBox();
txt.ID = "strtxtbox";
txt.CssClass = "CSS1";
StringBuilder sb = new StringBuilder();
StringWriter writer = new StringWriter(sb);
HtmlTextWriter htmlWriter = new HtmlTextWriter(writer);
txt.RenderControl(htmlWriter);

// lbl是一个aspx标签

lbl.text += @"<td style='width: 5%;'>" + sb.ToString() + "</td>";