Afficher le message AVANT de faire Response.redirect

la programmation


Salut,
J’ai du mal à essayer d’afficher un message (du côté serveur vers le côté client) avant de faire une réponse.redirection vers une autre page.
Le truc c’est que j’ai mis le code pour afficher le message mais il n’apparaît jamais dans la page, il fait la redirection mais il n’affiche pas le message.

Le code que j’utilise pour afficher le message est le suivant :

VB
sScript.AppendLine("<script type=""text/javascript"">")
sScript.AppendLine("  alert('La operacion no ha sido exitosa');")
sScript.AppendLine("</script>")
ScriptManager.RegisterStartupScript(Me, Me.GetType, "AlertaJS", sScript.ToString, False)

sScript est un constructeur de chaînes

Existe-t-il un autre moyen d’afficher les messages du côté serveur vers le côté client ?

Merci!

Solution 1

Lorsque vous utilisez un Response.Redirect, ASP.NET ajoute un en-tête pour émettre un objet 302 déplacé. Étant donné que le navigateur traite l’en-tête et demande la nouvelle URL, avant que la page ne se charge réellement, cette méthode ne fonctionnera pas pour vous.

Vous pouvez ajouter du JavaScript après l’alerte, tel que

window.location.href = 'http://my new location';

Solution 3

Salut Sherim,
Afficher le message avant la réponse.Redirection[^]

J’espère que ça t’aide.

Solution 2

placez votre message dans une page avec cet en-tête :

HTML
<meta http-equiv="refresh" content="5;url=Default.aspx" />

et redirigez-les vers cette page.
Cet en-tête les redirigera vers le “default.aspx” après 5 secondes mais avant cela, ils pourront voir votre message.

exemple :

HTML
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Access Denied</title>
    <meta http-equiv="refresh" content="5;url=Default.aspx" />
    <link rel="Stylesheet" type="text/css" href="default.css" />
</head>
<body dir="rtl">
    <form id="form1" runat="server">
    <div class="error">
        <img alt="error" src="images\cross1.png" width=50 height=50 />
       access denied.</div>
        <br />
        <br />
        <a href="Default.aspx">go to home page</a>


    </form>
</body>

コメント

タイトルとURLをコピーしました