请问如何动态生成服务器控件,并添加到前台表格中。
现在表格是用repeater动态生成的记录行,我想把test换成是textbox服务器控件。
用下面这段代码添加,倒是加上了,只是位置无法控制,我想让它们放在表格的单元格中。请教各位大侠,如何实现此功能啊?
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
TextBox tbxName = new TextBox();
tbxName.ID = "tbxName"+i;
tbxName.Text = "OK";
this.Form1.Controls.Add(tbxName);
}
------最佳解决方案-------------------- <asp:TextBox ID="txtName" runat="server" Text='<#Eval("字段名")>'></asp:TextBox>
------其他解决方案-------------------- 可以考虑用Repeater
<asp:Repeater id="rpt" runat="server">
<HeaderTemplate>
<table>
<tr><td>参数名</td><td>参数值</td></tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td><%#Eval("参数名称")%></td>
<td><asp:TextBox ID="ParamValue" runat="server" Text="" /></td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
你只要绑定这个Repeater就可以了。
全手写代码例子,累啊。
------其他解决方案-------------------- 你不如直接通过javascript,在指定的单元格内写html脚本呢,比如找到一个<td>,然后设置他的html内容<asp:Button ID="Button2" runat="server" Text="Button" />
------其他解决方案-------------------- <ItemTemplate>里面直接放3楼说的控件
------其他解决方案-------------------- 分数不够可以再追加,谢谢各位。
------其他解决方案-------------------- 引用: 你不如直接通过javascript,在指定的单元格内写html脚本呢,比如找到一个<td>,然后设置他的html内容<asp:Button ID="Button2" runat="server" Text="Button" />
不是很明白,可以请版主再说详细一点吗?有例子更好,谢谢啦。
------其他解决方案-------------------- 引用: <asp:TextBox ID="txtName" runat="server" Text='<#Eval("字段名")>'></asp:TextBox>
<asp:TextBox ID="txtName" runat="server" Text='<%#Eval("fieldName")%>'></asp:TextBox>
您好,稍改了一下,我试了一下这样可以生成,只是这样生成的ID都是一样的,在后台如何取值呢?
------其他解决方案-------------------- var tb = Repeater2.Items[0].FindControl("txtName") as TextBox;
------其他解决方案-------------------- 刚才问题描述不清。还想在后台取得textbox的值的。先结贴,再继续发贴问下一步了