Asp.net 如何在vb.net中循环遍历现有标签
我在一个网络表单中有数百个标签,就像:Wall_1,Wall_2,Wall_3。。。 我正在使用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
我正在使用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