0

我有一个动态生成的表格,表格中的每一行都有一些表单文本框供用户完成然后提交表单。我遇到的问题是一旦提交就访问这些字段中的值。

该表具有 Id=tableAssigneeChildren

这是我试图访问的文本框之一生成的 html:

<input name="ctl00$ContentPlaceHolder1$tChildName1" type="text" value="Test Name" id="tChildName1" />

下面的代码是我用来测试我是否可以访问上面的文本框的代码:

Protected Sub btnSubmit_Click(sender As Object, e As System.EventArgs) Handles btnSubmit.Click

    Dim childId As Integer

    For childId = 1 To CInt(iChild.Value)

        Response.Write(DirectCast(tableAssigneeChildren.FindControl("tChildName" & childId), TextBox).Text & "<br />")

    Next

End Sub

提前感谢您的帮助。J。

4

1 回答 1

1

动态创建的控件在每次回发时都会丢失。由于以下原因,我建议将表格添加到您的标记中:

  1. 人们经常遇到用户控件不显示的问题。

  2. 用户控件事件没有被触发,因为用户控件不存在于标记中,而是动态生成的。

  3. 速度(页面大小)没有区别。您可以根据需要切换那里的可见性。

  4. 更清洁,优雅的解决方案。

无论如何,如果您真的需要动态添加表格,请查看这个问题Dynamic Controls and Postback和本教程http://www.4guysfromrolla.com/articles/092904-1.aspx

于 2012-06-28T16:53:47.257 回答