查找生成的HTML控件并为其赋值

时间:2013-09-17 13:03:13

标签: html asp.net .net vb.net

您好我使用字符串生成器生成HTML输入文本控件并将其放在Code Behind的div中。

然后我还需要为这些生成的输入分配值&如果用户更改了值,则更新数据库。

问题是Code Behind无法找到从“字符串”构建器生成的HTML输入文本控件 您可以在下面看到代码示例:

Public Class WebForm1
        Inherits System.Web.UI.Page
        Private Sub WebForm1_PreInit(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.PreInit
            Dim strB As New StringBuilder
            For i = 0 To 5
                strB.Append("<input type=""text"" value="""" runat=""server"" id=position_" & i & "/>")
            Next
            wraper.InnerHtml = strB.ToString
            strB.Clear()
        End Sub
        Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
            For i = 0 To 5
                Dim a As HtmlInputText
                a = Me.Page.FindControl("position_" & i)
                a.Value = "test"
            Next
        End Sub
    End Class

1 个答案:

答案 0 :(得分:1)

那是因为您没有创建控件,而是在没有上下文的情况下创建字符串。 您可能想看看这些问题:

ASP: runat=server for dynamic control

Dynamically Created Controls losing data after postback