ASP.NET finden Sie alle Steuerelemente auf einer Seite und verstecken Sie
Ich versuche, auf Page_Load ausblenden alle meine RadioButtonLists aber ich kann nicht scheinen, um die syntax Recht
Ich vermute, ich habe zu verwenden, die FindControl
syntax so etwas
CType(FindControl, RadioButtonList)
Dann Schätze ich mal, werde ich haben, um eine Schleife durch jedes RadioButtonList und legen Sie die Visible = False
- Attribut.
Ich zu sein scheinen immer ein Fehler mit dem code oben.
Irgendwelche Ideen was ich versuchen kann?
Dank
Du musst angemeldet sein, um einen Kommentar abzugeben.
FindControl funktioniert nur, wenn Sie wissen, dass der name des Steuerelements, die Sie suchen, und mehr als das, es ist nicht ein rekursiver Aufruf. Es sei denn, Sie können garantieren, dass Ihre Steuern werden in die speziellen container, die Sie suchen, werden Sie nicht finden. Wenn Sie möchten, finden Sie alle radiobutton-Listen, die Sie schreiben müssen, eine Methode, die Zyklen durch alle control-sets im Eltern/Kind-Beziehung und stellt die radiobuttonlist visible auf false.
Nur pass
Page.Controls
zu dieser Funktion (ungetestet, eventuell tweaken):Versuchen Sie dies:
Warum nicht ASP.Net Haut Seite, um die Standardwerte für alle RadioButtonLists auf visible = false.
Ich würde def schauen Sie in mithilfe einer skin-Seite hier.
Tun ein foreach auf die Controls-Eigenschaft und überprüfen der Typ wird langsam sein. Was Sie tun sollten, meiner Meinung nach und je nach Ihren Anforderungen, ist die Verwendung von CSS /skins zu verstecken die unerwünschten Schaltflächen oder einfach hinzufügen zu einer
List<T>
so können Sie mit einer Schleife, die sich nur über diejenigen, die Sie brauchen, um zu ändern.Worst-case-Szenario die foreach funktionieren wird, aber es ist ein bisschen langsam und unerwünscht.