RegisterStartupScript funktioniert anscheinend nicht beim Seiten-Postback im Update-Bereich.

OK - arbeite also an einem System, das ein benutzerdefiniertes Datumsauswahl-Steuerelement verwendet (ich weiß, dass es andere gibt. Aus Gründen der Konsistenz möchte ich verstehen, warum mein aktuelles Problem auftritt, und es beheben).

So ist es ein benutzerdefiniertes Benutzersteuerelement mit einem Textfeld und auf Page PreRender führt dies aus:

protected void Page_PreRender(object sender, EventArgs e)
    {

        string clientScript = @"
        $(function(){
        $('#" + this.Date1.ClientID + @"').datepicker({dateFormat: 'dd/mm/yy', constrainInput: true});
        });";
        Page.ClientScript.RegisterStartupScript(this.GetType(), this.ClientID, clientScript, true);

        //Type t = this.GetType();
        //if (!Page.ClientScript.IsStartupScriptRegistered(t, this.ClientID))
        //{
        //    Page.ClientScript.RegisterStartupScript(t, this.ClientID, clientScript, true);
        //}
    }

Ignore hat Sachen auskommentiert - das war ich, als ich etwas anderes ausprobierte - hat nicht geholfen.

Mein Problem ist, dass dies alles gut funktioniert, wenn ich die Seite lade. Wenn ich jedoch etwas aus einer Dropdown-Liste auswähle, das einen Seiten-Postback verursacht - wenn ich in meine Datumsfelder klicke, funktionieren sie nicht mehr. Wie in sollte ich in der Lage sein, in das Textfeld zu klicken und eine nette Kalendersteuerung erscheint. Aber nach dem Zurücksetzen erscheint kein nettes Kalender-Steuerelement!

Derzeit ist alles (auf der Hosting-Seite) in ein Update-Fenster eingebunden. Also kommentiere ich das Update-Panel aus und die Daten funktionieren nach dem Postback der Seite. Es scheint also etwas mit diesem Update-Bereich zu tun zu haben.

Irgendwelche Vorschläge bitte?

Vielen Dank!

Antworten auf die Frage(2)

Ihre Antwort auf die Frage