how to redirect to external url from c# controller
C#asp.net MvcWeb ServicesC# Problem Overview
I'm using a c# controller as web-service.
In it I want to redirect the user to an external url.
How do I do it?
Tried:
System.Web.HttpContext.Current.Response.Redirect
but it didn't work.
C# Solutions
Solution 1 - C#
Use the Controller's Redirect() method.
public ActionResult YourAction()
{
// ...
return Redirect("http://www.example.com");
}
Update
You can't directly perform a server side redirect from an ajax response. You could, however, return a JsonResult with the new url and perform the redirect with javascript.
public ActionResult YourAction()
{
// ...
return Json(new {url = "http://www.example.com"});
}
$.post("@Url.Action("YourAction")", function(data) {
window.location = data.url;
});
Solution 2 - C#
If you are using MVC then it would be more appropriate to use [RedirectResult][1] instead of using Response.Redirect.
public ActionResult Index() {
return new RedirectResult("http://www.website.com");
}
Reference - https://blogs.msdn.microsoft.com/rickandy/2012/03/01/response-redirect-and-asp-net-mvc-do-not-mix/
[1]: https://msdn.microsoft.com/en-us/library/system.web.mvc.redirectresult(v=vs.108).aspx "RedirectResult"
Solution 3 - C#
Try this:
return Redirect("http://www.website.com");