Asp.net 如何在vb.net中循环遍历现有标签

Asp.net 如何在vb.net中循环遍历现有标签,asp.net,vb.net,Asp.net,Vb.net,我在一个网络表单中有数百个标签,就像:Wall_1,Wall_2,Wall_3。。。 我正在使用VB.Net。如何循环通过所有标签名称,只需 将索引号添加到“墙”的末尾 我正在使用Visual Studio 2012。要循环浏览所有标签,我建议使用以下方法。 将它们添加到您的收藏/列表中 For i as Integer to 20 labelArray.Add(Form.FindControl("Wall_" & i.ToString())) Next 为了改变他们的文本 F

我在一个网络表单中有数百个标签,就像:Wall_1,Wall_2,Wall_3。。。 我正在使用VB.Net。如何循环通过所有标签名称,只需 将索引号添加到“墙”的末尾


我正在使用Visual Studio 2012。

要循环浏览所有标签,我建议使用以下方法。 将它们添加到您的收藏/列表中

For i as Integer to 20
    labelArray.Add(Form.FindControl("Wall_" & i.ToString()))
Next
为了改变他们的文本

For i as Integer to 20
    Form.FindControl("Wall_" & i.ToString()).Text = "142.5"
Next
编辑:

如注释中所述,“.Text”属性不能应用于泛型控件,因此首先需要将其强制转换为标签:

For i as Integer to 20
    Dim label as Label = CType(Form.FindControl("Wall_" & i.ToString()), Label)
    label.Text = "142.5"
Next

必须为Form.FindControl导入哪个命名空间?您在msdn链接中找到了它;)习惯那个网页,它真的很有用啊,好吧,我没听清楚:-)MSDN总是一个不错的选择,没错。只是这个答案的一个补充。我还建议不要硬编码要通过的控件数量。这是伟大的,当你知道的数字,它绝对不会改变,这是几乎从来没有过的情况。我建议检查所有控件,如果是标签,则将其添加到数组中。这将在将来为您添加/删除标签提供更大的灵活性,但如果您需要从页面获取其他控件类型,也会更容易;当我尝试Form1.FindControl(“Wall_”&i.ToString()).Text=“142.5”时,我遇到一个错误:“Text”不是System.Web.UI.Control的成员。它似乎没有认识到Wall_u%是一个现有的标签?
For i as Integer to 20
    Dim label as Label = CType(Form.FindControl("Wall_" & i.ToString()), Label)
    label.Text = "142.5"
Next