在asp.net网页中,我在gridview下面有大约35个文本框,当你点击gridview中的每一行时会填充这些文本框。
一切正常,但是我想在再次填充之前快速清除所有字段。
字段ID都是这样的:
txtO1_C
txtO2_C
txtO3_C
txtO4_C
等...
所以我想知道vb是否有可能在VBA中执行某些操作:
for l=1 to 20
frmName.Controls("txtO" & l & "_C").Caption = vbnullstring
next l
如果有更快的方法,我试图避免为每个单独的文本框执行txtOX_C.Text =""
...
答案 0 :(得分:1)
是的,你可以这样做,但首先你必须找到放置文本框的控件。如果它们直接在页面中,那么这个代码将起作用
this.Controls.OfType<TextBox>().ToList<TextBox>().ForEach(a => a.Text = "");
如果文本框首先在另一个控件中,则必须找到该控件
Control ctrl = this.FindControl("controlid");
ctrl.Controls.OfType<TextBox>().ToList<TextBox>().ForEach(a => a.Text = "");
如果你想设置包含某些特定字符串的文本框文本,可以试试这个
this.Controls.OfType<TextBox>().Where(a=>a.ID.Contains("txt")).ToList<TextBox>().ForEach(a => a.Text = "Mairaj");
这是C#代码,您可以将其转换为等效的VB代码。