2010-12-01 7 views
2
private void EnableControls(bool enable) 
     { 
      foreach (TextBox t in Page.Form.Controls.OfType<TextBox>()) 
      { 
       t.ReadOnly = !enable; 
      } 
      chkSameAsCurrent.Enabled = enable; 
     } 

Der obige Code läuft gut in einer einfachen Seite keine Masterseite zu haben, aber wenn ich es in einem Content laufen kann ich die Textfelder aufzählen und nicht einmal eine Kontrolle in Form.alle Bedienelemente in Form

Antwort

2

Versuchen Sie es. Ich denke, das sollte funktionieren.

private void RecursiveLoopThroughControls(Control root) 
{ 
     foreach (Control control in root.Controls) 
     { 
      RecursiveLoopThroughControls(control); 
      //process the control. 
     } 
} 

Rufen Sie die Methode

RecursiveLoopThroughControls(Page) 
mit
0

Sie sollten dies durch recursion tun. Versuchen Sie diese article. Wenn Sie die Masterseiten-Steuerelemente aufzählen möchten, folgen Sie ihnen in Page.Master

Verwandte Themen