Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Ich hab mir überlegt das es praktisch wäre bestimmte Teile meiner Seite die versteckt sind und nur in bestimmten Fällen angezeigt werden auch erst dann zu laden und nicht alles auf einaml beim öffnen der Seite.

Als Beispiel hab ich das jetzt mit einem der Usercontrols auf der Seite versucht. Dieses will ich sobald es gebraucht wird mit einer WebMethod vom Server laden und per Javascript dem innerHTML eines Div Elements hinzufügen.

Dazu hab ich folgenden Code:


Control ctrl = LoadControl("MyControl.ascx");
StringBuilder HtmlCode = new StringBuilder();
StringWriter StringWriter = new StringWriter(HtmlCode);
HtmlTextWriter writer = new HtmlTextWriter(StringWriter);
ctrl.RenderControl(writer);
[/PHP]

Leider bekomme ich beim RenderControl Aufruf den Fehler das das erste Steuerelement im UserControl in einem Formtag mit dem Attribut runat=server plaziert werden muss.

Weiß jemand wie ich das umgehen kann und den HTML Code für mein Steuerlement erhalte?

Das Formtag existiert ja schon auf der Seite in die das Control reinsoll.

Wenn ich das ganze übrigens mit einem normalen WebControl mache klappt es ohne Fehler und per google hab ich bisher nur Leute gefunden bei denen das entweder auch problemlos mit einem Usercontrol klappt oder welche die den selben Frhler bekommen, aber keine Lösung haben...

Geschrieben

Wie das immer ist hab ich kurz nach dem Posten doch noch was gefunden.

Den Fehler kann man umgehen indem man seiner Seite folgende Funktion hinzufügt:


public override void VerifyRenderingInServerForm(Control control)
{

}
[/PHP]

und im Page Tag EnableEventValidation="false" setzt.

Ich bin mir aber noch nicht sicher ob ich das so lassen kann weil ich nicht weiß was es sonst noch bewirkt.

Außerdem bekomme ich im Javascript jetzt beim zuweisen des Codes einen unbekannten Laufzeitfehler :rolleyes:

[PHP]
function RenderControlFinished(value)
{
var p = document.getElementById('MainUserControls');
p.innerHTML = value;
}

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...