Quel est le code requis pour rediriger le navigateur vers une nouvelle page avec une page ASPX?
J'ai essayé ceci sur ma page default.aspx:
<% Response.Redirect("new.aspx", true); %>
ou
<%@ Response.Redirect("new.aspx", true); %>
Et cela a entraîné une erreur de serveur indéterminée. Je ne peux pas voir le code d'erreur; parce que le serveur n'est pas sous mon contrôle et que les erreurs ne sont pas publiques.
Veuillez fournir tout le code nécessaire, de la ligne 1 à la fin de la page, et je l’apprécierais vraiment.
<%@ Page Language="C#" %>
<script runat="server">
protected override void OnLoad(EventArgs e)
{
Response.Redirect("new.aspx");
}
</script>
Vous pouvez également le faire en clair avec un méta tag :
<html>
<head>
<meta http-equiv="refresh" content="0;url=new.aspx" />
</head>
<body>
</body>
</html>
La réponse de Darin fonctionne très bien. Cela crée une redirection 302. Voici le code modifié pour créer une redirection 301 permanente:
<%@ Page Language="C#" %>
<script runat="server">
protected override void OnLoad(EventArgs e)
{
Response.RedirectPermanent("new.aspx");
base.OnLoad(e);
}
</script>
Si vous utilisez VB, vous devez supprimer le point-virgule:
<% Response.Redirect("new.aspx", true) %>
Ou vous pouvez utiliser javascript pour rediriger vers une autre page:
<script type="text/javascript">
function toRedirect() {
window.location.href="new.aspx";
}
</script>
Appelez cette fonction toRedirect()
à partir du client (par exemple: événement onload de la balise body) ou du serveur à l'aide de:
ClientScript.RegisterStartupScript(this.gettype(),"Redirect","toRedirect()",true);
Même si vous ne contrôlez pas le serveur, vous pouvez voir les messages d'erreur en ajoutant la ligne suivante au fichier Web.config de votre projet (bewlow <system.web>
):
<customErrors mode="off" />
Dans un cas particulier au sein d'ASP.NET Si vous voulez savoir si la page est redirigée par une page .aspx spécifiée et non par une autre, insérez simplement les informations dans un nom de session et prenez les mesures nécessaires dans l'événement Page_Load de destination.
Rediriger aspx:
<iframe>
<script runat="server">
private void Page_Load(object sender, System.EventArgs e)
{
Response.Status = "301 Moved Permanently";
Response.AddHeader("Location","http://www.avsapansiyonlar.com/altinkum-tatil-konaklari.aspx");
}
</script>
</iframe>