Enlever les scripts ajoutés par ClientScript.RegisterStartupScript

Dans mon application pour le contrôle de connexion, je suis en train de montrer une fenêtre de dialogue si la connexion a échoué. De cette façon:

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);         
    }
}

Le JavaScript est:

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

Maintenant, si la connexion a échoué la boite de dialogue s'affiche. Mais Le problème est que si j'actualise la fenêtre du navigateur, après un échec de la connexion, la boîte de dialogue nouveau ouvert, depuis le $(".jym").dialog("open") est écrit dans la page. Alors j'ai essayé

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

Mais pas de chance.

Est-il un moyen pour résoudre ce problème?


Si j'utilise ClientScript.RegisterClientScriptBlock() cela ne fonctionne pas, je veux dire que le dialogue n'est pas d'ouverture sur l'erreur.

InformationsquelleAutor Tapas Bose | 2012-03-25