Entfernen von Skripts Hinzugefügt von ClientScript.RegisterStartupScript

In meiner Anwendung die login-Steuerung, ich zeige ein Dialogfenster, wenn der login fehlgeschlagen ist. In dieser Art und Weise:

protected void EMSLogin_Authenticate(object sender, AuthenticateEventArgs e) {
    log.Info("=============INSIDE EMSLogin_Authenticate======");
    RadTextBox UserName = EMSLogin.FindControl("UserName") as RadTextBox;
    RadTextBox Password = EMSLogin.FindControl("Password") as RadTextBox;

    if (Membership.ValidateUser(UserName.Text, Password.Text)) {
        FormsAuthentication.RedirectFromLoginPage(UserName.Text, false);
    } else {
        ClientScript.RegisterStartupScript(typeof(ScriptManager), "CallShowDialog", "showDialog();", true);         
    }
}

JavaScript ist:

function showDialog() {
    $(document).ready(function () {
        $(".jym").dialog("open");
    });
}

Nun, wenn der login fehlgeschlagen ist der dialog zeigt. Aber Das problem ist wenn ich aktualisieren Sie das Browserfenster, nachdem ein login fehlgeschlagen ist, wird der dialog wieder geöffnet, da die $(".jym").dialog("open") ist geschrieben in der Seite. Dann habe ich versucht

protected void Page_Unload(object sender, EventArgs e) {        
    log.Info("=============INSIDE Page_Unload======");
    ClientScript.RegisterStartupScript(typeof(ScriptManager), "CallShowDialog", "", true);
}

Aber kein Glück.

Gibt es eine Möglichkeit, dieses problem zu lösen?


Wenn ich ClientScript.RegisterClientScriptBlock() dies nicht funktioniert, ich meine, dass der dialog nicht öffnen, auf Fehler.

InformationsquelleAutor Tapas Bose | 2012-03-25
Schreibe einen Kommentar