Как перенаправить на внешний URL из контроллера C # - PullRequest
67 голосов
/ 16 марта 2012

Я использую контроллер AC # в качестве веб-сервиса.

В нем я хочу перенаправить пользователя на внешний URL.

Как мне это сделать?

Пробовал:

System.Web.HttpContext.Current.Response.Redirect

но это не сработало.

Ответы [ 3 ]

119 голосов
/ 16 марта 2012

Используйте метод контроллера Redirect () .

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

Обновление

Вы не можете напрямую выполнить перенаправление на стороне сервера изответ Ajax.Однако вы можете вернуть JsonResult с новым URL-адресом и выполнить перенаправление с помощью JavaScript.

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

$.post("@Url.Action("YourAction")", function(data) {
    window.location = data.url;
});
10 голосов
/ 16 марта 2012

Попробуйте это:

return Redirect("http://www.website.com");
9 голосов
/ 25 февраля 2016

Если вы используете MVC, то было бы более целесообразно использовать RedirectResult вместо использования Response.Redirect.

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

Ссылка - https://blogs.msdn.microsoft.com/rickandy/2012/03/01/response-redirect-and-asp-net-mvc-do-not-mix/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...