2013-11-21 4 views
0

Я хочу очистить все текстовые поля. написал публичную функцию, как:проблема с очисткой текстовых полей

public void clean(Control parent) 
{ 
    try 
    { 
     foreach (Control c in parent.Controls) 
     { 
      TextBox tb = c as TextBox; //if the control is a textbox 
      if (tb != null)//Will be null if c is not a TextBox 
      { 
       tb.Text = String.Empty;//display nothing 
      } 
     } 
    } 
    catch (Exception ex) 
    { 
     Console.WriteLine("{0} Exception caught.", ex); 
    } 
} 

в классе страницы я хочу, чтобы это назвать я заявил:

PublicFunctions pubvar = new PublicFunctions(); 

и я называю это как

pubvar.clean(Page); 

, но его не работая ... даже не выкидывая ошибку ... и мои текстовые поля arent clearing ... help?

+0

Когда и где вы призывающую его? Кроме того, ваше использование обработки исключений здесь бессмысленно. – James

+0

Какой тип страницы? что вы посылаете для работы? – user2857877

+0

@James, называя его после закрытия моего подключения к базе данных и после того, как я выполняю привязку gridview. все это происходит, когда я нажимаю save для отправки информации ... также y это бессмысленно? пожалуйста, объясни. – New2This

ответ

0

Вы должны использовать рекурсивный цикл для проверки всех элементов управления.

попробуйте этот код

using System; 
using System.Collections.Generic; 
using System.Web.UI; 
using System.Web.UI.WebControls; 

public class PublicFunctions 
{ 
    public void Clean(Control parent) 
    { 
     var controls = GetAllControls(parent); 

     foreach (Control c in controls) 
     { 
      TextBox tb = c as TextBox; 
      if (tb != null) 
      { 
       tb.Text = String.Empty; 
      } 
     } 
    } 

    public IEnumerable<Control> GetAllControls(Control parent) 
    { 
     foreach (Control control in parent.Controls) 
     { 
      yield return control; 

      foreach (Control innerControl in control.Controls) 
      { 
       yield return innerControl; 
      } 
     } 
    } 
} 
+0

просто попробовал. это все еще не очищает текстовые поля ... n i dont kno why ... – New2This

+0

У вас возникли какие-либо ошибки с этим кодом? –

+1

Это ничего не решит, код OP должен работать. – James

Смежные вопросы