如何动态创建依赖于asp.net中数据库记录计数的文本框? 例如:有一个学校课程,你可以插入学生的考试点,也有一些在学校的课程。您不知道有多少人,您应该动态创建文本框以插入考试点。
答案 0 :(得分:2)
页面控件,面板控件和其他几个对象都有一个.Controls对象,您可以在其中动态地向页面添加新控件。然后变得如此简单:
Dim txtDynamic As New Textbox()
Me.Page.Controls.Add(txtDynamic)
您可能希望将其他属性应用于控件,其中查看this MSDN article并提供有关添加控件的完整详细信息。
答案 1 :(得分:1)
+1给Dillie以获得正确答案。
我想补充一点,如果你想这样做,你最好对ASP.NET page lifecycle有一个很好的理解。在正确的时间创建控件非常重要,否则它们将无法用于页面触发事件/填充回发中的数据。一般来说,这应该是在Page_Init事件期间(自从我完成此事以来已经过了一段时间!)。
答案 2 :(得分:0)
根据您需要在TextBox中处理的数据的性质,您可以轻松地在页面上将HTML文字控件作为占位符。然后在代码隐藏页面中,您只需添加正确的HTML代码即可创建所需的TextBox数量,并将生成的代码设置为HTML文字控件。如果您需要获取数据,只需在所有标准HTML文本框控件中添加“runat = server”属性即可。
这种方法可让您更快速地了解文本框的外观,而无需设置DataList或其他类似内容。