无法使用ASP.NET VB引用具有动态生成ID的标签

无法使用ASP.NET VB引用具有动态生成ID的标签,asp.net,ajax,vb.net,Asp.net,Ajax,Vb.net,我有一个页面可以查询数据库并显示多台打印机的信息。我有几个部分希望在客户端使用AJAX以不同的时间间隔进行更新(至少这是我研究得出的最佳解决方案)。我可以让AJAX本身与常见的“显示时间”示例一起工作,而不会出现任何问题 我的问题是,如果我想更新的部分(我已经尝试了span,asp:label,div…>)的ID是用服务器端代码生成的,结果类似于“Label1”,“Label2” 每次尝试更新其中一个生成的标签中的文本时,我都会得到“'Label1'未声明。由于其保护级别,它可能无法访问”。所有

我有一个页面可以查询数据库并显示多台打印机的信息。我有几个部分希望在客户端使用AJAX以不同的时间间隔进行更新(至少这是我研究得出的最佳解决方案)。我可以让AJAX本身与常见的“显示时间”示例一起工作,而不会出现任何问题

我的问题是,如果我想更新的部分(我已经尝试了span,asp:label,div…>)的ID是用服务器端代码生成的,结果类似于“Label1”,“Label2”

每次尝试更新其中一个生成的标签中的文本时,我都会得到“'Label1'未声明。由于其保护级别,它可能无法访问”。所有内容都在表单标记中,所有内容都是“runat=”server“”.我觉得我只是缺少了一个设置,或是对某个东西的引用。到目前为止,我还无法缩小搜索范围,以获得有用的答案

我在这里潜伏了多年,一直都能找到解决办法。但这让我感到困惑

----范例-----

最终目标是更好地控制特定元素的更新时间和方式。这是使用计时器教程演示。在我的应用程序中,我将根据查询中的记录ID(即ID=“Mach”&MID)为标签分配ID

按发布方式工作的原始代码:

<form id="form1" runat="server">
<div>
    <!--  Ajax button code start -->
    <asp:ScriptManager ID="ScriptManager1" runat="server" />
    <asp:UpdatePanel ID="UpdatePanel1" runat="server">
    <ContentTemplate>
        <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
        <asp:Button ID="Button1" runat="server" Text="Ajax - Button" onclick="Button1_Click" />
    </ContentTemplate>
    </asp:UpdatePanel>
    <!--  Ajax button code end -->
    <br /><br />
    <!--  Non - Ajax button code start -->
    <asp:Label ID="Label2" runat="server" Text="Label"></asp:Label>
    <asp:Button ID="Button2" runat="server" Text="Non - Ajax - Button" onclick="Button2_Click" />
    <!--  Non - Ajax button code end -->
</div>
</form>
在我看来,以下方法应该是同样的:

 <form id="form1" runat="server">
<div>
<% Call Generated()%>
</div>
</form>

代码隐藏:

Public Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
    Label1.Text = DateTime.Now.ToString()
    Label2.Text = DateTime.Now.ToString()
End Sub

Public Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs)
    Label1.Text = DateTime.Now.ToString()
    Label2.Text = DateTime.Now.ToString()
End Sub

Public Sub Generated()
    Dim str As String

    str = "<div>"
    str = str & ("<asp:ScriptManager ID=""ScriptManager1"" runat=""server"" />")
    str = str & ("<asp:UpdatePanel ID=""UpdatePanel1"" runat=""server"">")
    str = str & ("<ContentTemplate>")
    str = str & ("<asp:Label ID=""Label1"" runat=""server"" Text=""Label""></asp:Label>")
    str = str & ("<asp:Button ID=""Button1"" runat=""server"" Text=""Ajax - Button"" onclick=""Button1_Click"" />")
    str = str & ("</ContentTemplate>")
    str = str & ("</asp:UpdatePanel>")
    str = str & ("<br /><br />")
    str = str & ("<asp:Label ID=""Label2"" runat=""server"" Text=""Label""></asp:Label>")
    str = str & ("<asp:Button ID=""Button2"" runat=""server"" Text=""Non - Ajax - Button"" onclick=""Button2_Click"" />")
    str = str & ("</div>")
End Sub
Public子按钮1\u单击(ByVal sender作为对象,ByVal e作为System.EventArgs)
Label1.Text=DateTime.Now.ToString()
Label2.Text=DateTime.Now.ToString()
端接头
公共子按钮2\u单击(ByVal sender作为对象,ByVal e作为System.EventArgs)
Label1.Text=DateTime.Now.ToString()
Label2.Text=DateTime.Now.ToString()
端接头
公共子生成()
作为字符串的Dim str
str=“”
str=str&(“”)
str=str&(“”)
str=str&(“”)
str=str&(“”)
str=str&(“”)
str=str&(“”)
str=str&(“”)
str=str&(“

”) str=str&(“”) str=str&(“”) str=str&(“”) 端接头
可能重复的代码需要显示您的代码。包括相关的C#和标记。获取足够的代码来传达问题,但不要更多。请参阅。
Public Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
    Label1.Text = DateTime.Now.ToString()
    Label2.Text = DateTime.Now.ToString()
End Sub

Public Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs)
    Label1.Text = DateTime.Now.ToString()
    Label2.Text = DateTime.Now.ToString()
End Sub

Public Sub Generated()
    Dim str As String

    str = "<div>"
    str = str & ("<asp:ScriptManager ID=""ScriptManager1"" runat=""server"" />")
    str = str & ("<asp:UpdatePanel ID=""UpdatePanel1"" runat=""server"">")
    str = str & ("<ContentTemplate>")
    str = str & ("<asp:Label ID=""Label1"" runat=""server"" Text=""Label""></asp:Label>")
    str = str & ("<asp:Button ID=""Button1"" runat=""server"" Text=""Ajax - Button"" onclick=""Button1_Click"" />")
    str = str & ("</ContentTemplate>")
    str = str & ("</asp:UpdatePanel>")
    str = str & ("<br /><br />")
    str = str & ("<asp:Label ID=""Label2"" runat=""server"" Text=""Label""></asp:Label>")
    str = str & ("<asp:Button ID=""Button2"" runat=""server"" Text=""Non - Ajax - Button"" onclick=""Button2_Click"" />")
    str = str & ("</div>")
End Sub