Glengamoi · AspHeute (Artikel) · .NET Heute (RSS-Suche) · .NET Blogs · Glengamoi Suche (Installieren via Klick)

Glengamoi

Die Diskussionsforen der deutschen .NET Community
Willkommen bei Glengamoi. Anmeldung | Registrieren | Hilfe
in Suchen

Ajax: Eigenes JavaScript innerhalb des UpdatePanel einbinden

Letzter Beitrag 03-05-2008 21:08 von Bernhard Brause. 2 Antworten.
Seite 1 von 1 (3 Treffer)
Beiträge sortieren: Zurück Weiter
  • 03-05-2008 7:56

    Ajax: Eigenes JavaScript innerhalb des UpdatePanel einbinden

    Hallo, folgendes Problem:

    ich habe ein UserControl, dass über den ClientScriptManager mit der Methode RegisterClientScriptBlock einen JavaScript-Block in die Seite einfügen soll.

    Das UserControll wird allerdings erst geladen, wenn ein Event innerhalb des UpdatePanels angestoßen wird. Das hat zur Folge, dass die Methode RegisterClientSciptBlock zwar aufgerufen, aber den JavaScript-Block nicht in die Seite einbindet.

    Gibt es hierzu eine Lösung?

    Vielen Dank im Voraus und viele Grüße

    Bernhard

    http://www.ComSport.de
    Abgelegt unter: , ,
    • IP-Adresse ist Registriert
  • 03-05-2008 9:14 Antwort zu

    AW: Ajax: Eigenes JavaScript innerhalb des UpdatePanel einbinden

    Also am besten ist es immer, den gesamten JS Code schon beim PageLoadmit zu übertragen.

    Wenn du dann eine Funktion ausführen willst, nachdem du einUpdatePanel geupdatet hast,

    kannst du das im pageLoaded event behandeln.

     

    so etwa:

     

        var panelsUpdated =pageLoadedEventArgs.get_panelsUpdated();

        for(var i = 0; i < panelsUpdated.length; i++)

        {

            if(panelsUpdated[i].id === "idUpdatePanel")

           {}

       }

     

     

     

    Von: Bernhard Brause[mailto:bounce-ComSport@glengamoi.com]
    Gesendet: Mittwoch, 5. März 2008 07:59
    An: tb@sitepoint.de
    Betreff: [Client] Ajax: Eigenes JavaScript innerhalb des UpdatePaneleinbinden

     

    Hallo, folgendes Problem:

    ich habe ein UserControl, dass über den ClientScriptManager mit der Methode RegisterClientScriptBlock einen JavaScript-Block indie Seite einfügen soll.

    Das UserControll wird allerdings erstgeladen, wenn ein Event innerhalb des UpdatePanels angestoßen wird. Das hat zurFolge, dass die Methode RegisterClientSciptBlock zwar aufgerufen, aber denJavaScript-Block nicht in die Seite einbindet.

    Gibt es hierzu eine Lösung?

    Vielen Dank im Voraus und viele Grüße

    Bernhard



    • IP-Adresse ist Registriert
  • 03-05-2008 21:08 Antwort zu

    AW: Ajax: Eigenes JavaScript innerhalb des UpdatePanel einbinden

    Hallo Thomas,

    ich habe es viel einfacher geschafft. Statt wie üblich den JavaScript Code mit

    // Benötigten Scriptcode registrieren
    Type t = this.GetType();
    // Get e ClientScriptManager reference from the page class.
    ClientScriptManager cs = Page.ClientScript;
    // Check to see if the startup script is already registered.
    if (!cs.IsClientScriptBlockRegistered(t, "EditBox01"))
    {
    // Script zusammensetzen und registrieren
    string js = this.BuildScriptCode();
    cs.RegisterClientScriptBlock(t,
    "EditBox01", js, true);
    }

    reicht es aus, den ScriptManager zu bemühen:

    ScriptManager.RegisterClientScriptBlock(this, typeof(Page), "EditBox02"this.BuildScriptCode(),true);

    und schon ist die Welt wieder in Ordnung.

    Bernhard

    http://www.ComSport.de
    • IP-Adresse ist Registriert
Seite 1 von 1 (3 Treffer)