est-il possible de renvoyer un redirect temporaire i parfois em> besoin de réaménager code> POST code> Les valeurs soumises d'un formulaire à un autre URI. P>
Utilisation JavaScript pour effectuer la sélection du côté client (contourner ainsi ce problème) n'est pas une option. P>
Redirection via un Est-ce que cela est encore possible? P> 307 code> à partir d'un contrôleur dans ASP.NET MVC? P>
Obtenir code> n'est pas une option car les données affichées comprennent une chaîne de 8K susceptible de signifier que l'URI serait trop longue pour certains (de nombreux?) navigateurs. P>
3 Réponses :
Regardez l'article suivant - Vous pouvez utiliser la même technique pour 307: p>
J'ai besoin de parfois i> faire les redirections basées sur les données qui sont passées. Accéder au modèle (où la logique est) du RouteHandler semble tort. Avoir [une copie de] la logique du RouteHandler semble encore pire.
L'utilisation d'un routier de roue semble être une bonne façon de résoudre ce genre de problème. - Juste pas quand il y a une logique impliquée.
Vous pouvez créer un résultat d'action différent dans quel cas - à nouveau voici un exemple que vous pouvez modifier: STUM.DE/2008/10/22/PERMANENTREDIRECTRESTRÉSULT
J'ai fini par faire de la refonte pour éviter tout problème. Quelques grandes solutions cependant. Merci Finnnk
Casse la nécessité "parfois" qui implique la logique est nécessaire en premier. Pas mal comme solution à usage général mais ne répond pas à cette question.
Pour renvoyer un résultat de redirection 307 d'une action MVC, utilisez ce qui suit:
public ActionResult Action()
{
string url = GetRedirectUrl()
HttpContext.Response.AddHeader("Location", url);
return new HttpStatusCodeResult(307);
}
return Redirect(url, false, false); // 302 return Redirect(url, true, false); // 301 return Redirect(url, false, true); // 307 return Redirect(url, true, true); // 308