有人可以提供有关如何执行此操作(看似非常简单)任务的代码吗?我已经在我的实际项目中提出了两个冗长的问题,这些问题似乎被误解了,或者我得到了错误的结论(包括在Page_Load / Page_Init上使用中继器等创建文本框)。
这需要动态完成,因为在我的项目中有很多控件,这个数字可能会有所不同。到目前为止,如果需要,我可以发布我的代码,但在其他问题中,这似乎让事情变得混乱。
答案 0 :(得分:1)
代码用于创建动态文本框:
Protected Sub ddl_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs)
If ((Not (ddl.SelectedValue) Is Nothing) _
AndAlso (Integer.Parse(ViewState("count").ToString) <> 0)) Then
Dim i As Integer = 1
Do While (i <= Integer.Parse(ddl.SelectedValue))
Dim t As TextBox = New TextBox
t.ID = ("TextBox_" + i)
form1.Controls.Add(t)
i = (i + 1)
Loop
ElseIf ((Not (ddl.SelectedValue) Is Nothing) _
AndAlso (Integer.Parse(ViewState("count").ToString) > 0)) Then
Dim id As Integer = Integer.Parse(ViewState("count").ToString)
Dim i As Integer = 1
Do While (i <= Integer.Parse(ddl.SelectedValue))
Dim t As TextBox = New TextBox
t.ID = ("TextBox_" + id)
form1.Controls.Add(t)
id = (id + 1)
i = (i + 1)
Loop
End If
End Sub
并在页面加载中添加此
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
如果不是IsPostBack那么 ViewState(“count”)= 0 万一 结束子
要验证数据,请在页面中添加一个按钮控件(我将尽快添加代码)
答案 1 :(得分:1)
一个问题:如果控件已经创建,如果可以创建超过下拉列表中的可用数字(f.e.3 +3),该怎么办?
假设您允许创建的控件数量超过控件数量,则需要
Click
事件textBox_4
)ViewState
或Session
变量Page_Init
或Page_Load
(最晚)重新创建这些控件然后你确保加载ViewState并触发事件。
这是代码,它展示了我的意思: