Ändern Sie die html-Ausgabe auf server-Seite in ASP.NET
Einen Dritten webcontrol generiert den folgenden code zur Anzeige selbst:
<div id="uwg">
<input type="checkbox" />
<div>blah-blah-blah</div>
<input type="checkbox" />
</div>
Ist es möglich, um es zu ändern
<div id="uwg">
<input type="checkbox" disabled checked />
<div>blah-blah-blah</div>
<input type="checkbox" disabled checked />
</div>
Wenn wir auf auf
<asp:CheckBox id="chk_CheckAll" runat="server" AutoPostBack="true" />
befindet sich auf der gleichen Seite?
Müssen wir tun um die server-Seite (in ASP.NET).
Dass Dritte die Kontrolle nicht geben-Schnittstelle, also die einzige Möglichkeit ist das arbeiten mit html-Ausgabe. Die Seite Ereignis sollte ich damit umgehen (wenn überhaupt)? Auch gibt es einige, die äquivalent zu DOM-Modell, oder muss ich mit der Arbeit Ausgabe als string?
InformationsquelleAutor Roma | 2009-05-19
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Checkboxen nicht ausführen auf dem server oder sind gekapselt in der Kontrolle, wir können die folgende Methode verwenden:
Lösung entnommen hier.
Diese Lösung funktioniert sehr gut in meine User-Kontrolle, da es nur schreibt die Ausgabe für die einzelnen Steuern, die Sie in. Für diejenigen, die nicht herausfinden können, was er tut, kann diese Funktion überschreibt die form (oder in meinem Fall-Kontroll-ist) default-Render-Funktion und ersetzt einige der HTML-im Sie es mit verschiedenen HTML.
InformationsquelleAutor Roma
Erben es und finden Sie die controls in der control-Struktur und Attribute entsprechend.
Dies ist offensichtlich fragil, wenn das Steuerelement ändert seinen Ausgang abhängig von anderen Eigenschaften, oder wenn Sie ein upgrade der Bibliothek; wenn Sie aber ein workaround, das funktioniert.
Ja, Sie können mit FindControl("id")
Danke. Und kann ich einfach umsetzen Seite.OnPreRender(EventArgs e) für meine aktuelle Seite, ohne Erben?
Sie könnte, aber das würde nur auf die Kontrolle über diese Seite, nicht auf die anderen Orte, die Sie wollen, es zu benutzen.
Getestet. Funktioniert nicht, da Checkboxen nicht laufen auf dem server. (Sie existieren nicht in der Auflistung der untergeordneten Steuerelemente.)
InformationsquelleAutor Tom Ritter