asp.net使用vb循环一次删除各种文本框

时间:2014-12-19 10:37:13

标签: asp.net vb.net textbox controls

在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 ="" ...

1 个答案:

答案 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代码。