2 Stimmen

Holen Sie Steuerelemente im ContentPlaceHolder asp.net mit forEach.

Ich habe ein asp-Formular mit Masterpage und ContentPlaceHolder. Ich möchte alle Steuerelemente (Checkbox, Textbox, Label, ...) auf meiner Seite finden. Ich mache das (ohne Masterpage) normal

 Dim c As Control
    For Each c In Page.Controls
        For Each childc In c.Controls
                If CType(childc, TextBox).Text <> "" Then

Aber dieser Code funktioniert nicht mit Masterpage. Ich brauche diesen Code nicht

TextBox TB=Master.FindControl("ContentPlaceHolder1").FindControl("textbox1") as TextBox;

Weil ich alle Steuerelemente haben möchte

4voto

Arindam Nayak Punkte 7298

Sie können es so machen. Iterieren Sie durch alle Steuerelemente, überprüfen Sie ihren Type in der Schleifeniteration, basierend auf Ihrem Fall, ergreifen Sie Maßnahmen oder erhalten Sie Werte und führen Sie Operationen durch.

For Each c In Master.FindControl("ContentPlaceHolder1").Controls
    If TypeOf c Is TextBox Then
        Dim text As TextBox = CType(c, TextBox)
        ' Schreibencode zur Behandlung von Textboxen
    End If
    If TypeOf c Is CheckBox Then
        Dim chk As CheckBox = CType(c, CheckBox)
        ' Schreibencode zur Behandlung von Kontrollkästchen
    End If
    If TypeOf c Is DropDownList Then
        Dim ddl As DropDownList = CType(c, DropDownList)
        ' Schreibencode zur Behandlung von Dropdownlisten
    End If
Next

Bitte lassen Sie mich wissen, ob Sie weitere Hilfe benötigen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X