10
votes

Retour 307 Redirection temporaire dans ASP.NET MVC

est-il possible de renvoyer un redirect temporaire 307 à partir d'un contrôleur dans ASP.NET MVC?

i parfois besoin de réaménager POST Les valeurs soumises d'un formulaire à un autre URI.

Utilisation JavaScript pour effectuer la sélection du côté client (contourner ainsi ce problème) n'est pas une option.

Redirection via un Obtenir 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.

Est-ce que cela est encore possible?


0 commentaires

3 Réponses :



14
votes

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);
}


0 commentaires

2
votes

ASP.NET CORE :

return Redirect(url, false, false); // 302
return Redirect(url, true, false);  // 301
return Redirect(url, false, true);  // 307
return Redirect(url, true, true);   // 308


0 commentaires