J'utilise le code MSDN suivant sur ma page maître pour détecter si le navigateur accepte les cookies:redirect récursive à la page de gestionnaire d'erreurs
protected void Page_Load(object sender, EventArgs e)
{
if(!this.IsPostBack) {
if(Request.QueryString["CookieTest"] == null) {
Response.Cookies["TestCookie"].Value = "Test";
Response.Redirect("CookieCheck.aspx.redirect=" + Server.UrlEncode(Request.Url.ToString())));
}
else if((string)Request.QueryString["Test"] == "passed") {
// my stuff...
}
}
}
Le CookieCheck.aspx contient les éléments suivants:
protected void Page_Load(object sender, EventArgs e)
{
if(Request.Cookies["TestCookie"] == null)
Response.Redirect(Request.QueryString["redirect"] + "?Test=notPassed", true);
else
Response.Redirect(Request.QueryString["redirect"] + "?Test=passed", true);
}
Au sein le web.config i ont défini les éléments suivants:
<customErrors mode="On" defaultRedirect="Error.aspx" />
maintenant, la reconnaissance des biscuits œuvres Eh bien, mais j'ai ce problème: Chaque fois qu'une erreur se produit sur la page et je devrais être redirigé vers Error.aspx (et cela a fonctionné avant toute chose de détection de cookie), la redirection semble coincée dans une boucle infinie et ajoute de plus en plus ? Test = transmis "à l'URL. Je devrais mentionner que le Errors.aspx a également la même page principale et effectue ainsi également la vérification de biscuit. Cependant, je n'ai aucune idée pourquoi la redirection ne s'arrête pas. Existe-t-il un moyen de résoudre ce problème autre que d'exclure la page Errors.aspx d'avoir la page maître? Merci beaucoup.
Non, le CookieCheck.aspx n'a pas de page maître, ce n'est donc pas la raison. Votre approche avec la nouvelle classe de base semble très propre et raisonnable, je considérerai celui-ci. – noisecoder