le code à dépouillent /Default.aspx
et //www
ne fonctionne pas (comme prévu):décapage et default.aspx // www de l'url
protected void Application_BeginRequest(object sender, EventArgs e)
{
HttpContext context = HttpContext.Current;
string url = context.Request.RawUrl.ToString();
bool doRedirect = false;
// remove > default.aspx
if (url.EndsWith("/default.aspx", StringComparison.OrdinalIgnoreCase))
{
url = url.Substring(0, url.Length - 12);
doRedirect = true;
}
// remove > www
if (url.Contains("//www"))
{
url = url.Replace("//www", "//");
doRedirect = true;
}
// redirect if necessary
if (doRedirect)
{
context.Response.Redirect(url);
}
}
il travaille habituellement, mais lors de la soumission d'un formulaire (par exemple vous connecter) le code ci-dessus INTERCEPTE la demande, puis redirige vers la même page. exemple:
- essayer d'arriver à la page:
~/SignIn/Default.aspx
- les demandes obtient interceptées et fixées à:
~/SignIn/
- remplir le formulaire, cliquez sur Se connecter
- l'URL de la page courante passe de:
~/SignIn/
à~/SignIn/Default.aspx
et se corrige à nouveau, annulant ainsi le traitement de la méthodeSignIn
(qui aurait redirigé le navigateur vers/SignIn/Success/
) et la page est rechargée comme~/SignIn/
et aucune connexion n'a été effectuée terminé.
aidez s'il vous plaît. pas sûr de quoi/comment réparer ici.
le principal EXIGENCE ici est:
enlever /Default.aspx
et //www
de
thnx
en effet. Je vous remercie. J'ai vérifié pour context.Request.HttpMethod.ToString(). Est égal à ("GET") et retourné si ce n'est pas le cas. c'est ** HttpMethod ** mais pas Method (pour une correction complète si quelqu'un l'utilise). – b0x0rz