comment rediriger vers l'url externe du contrôleur c#

J'utilise un contrôleur c# comme service web.

Je veux rediriger l'utilisateur vers une url externe.

Comment dois-je faire?

Essayé:

System.Web.HttpContext.Current.Response.Redirect

, Mais ça ne fonctionne pas.

60
demandé sur Elad Benda 2012-03-16 18:32:45

3 réponses

Utilisez la méthode Redirect() du contrôleur.

public ActionResult YourAction()
{
    // ...
    return Redirect("http://www.example.com");
}

Mise à Jour

Vous ne pouvez pas effectuer directement une redirection côté serveur à partir d'une réponse ajax. Vous pouvez cependant renvoyer un JsonResult avec la nouvelle url et effectuer la redirection avec javascript.

public ActionResult YourAction()
{
    // ...
    return Json(new {url = "http://www.example.com"});
}

$.post("@Url.Action("YourAction")", function(data) {
    window.location = data.url;
});
103
répondu jrummell 2012-03-23 13:37:23

Essayez ceci:

return Redirect("http://www.website.com");
8
répondu Tom Chantler 2012-03-16 14:35:16

Si vous utilisez MVC ensuite, il serait plus approprié d'utiliser RedirectResult au lieu d'utiliser de Réponse.Rediriger.

public ActionResult Index() {
        return new RedirectResult("http://www.website.com");
    }

Référence - https://blogs.msdn.microsoft.com/rickandy/2012/03/01/response-redirect-and-asp-net-mvc-do-not-mix/

7
répondu EndlessSpace 2016-02-25 15:55:54