Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I redirect to a URL?

How can I redirect the viewer to a URL?

I noticed that someone asked How to redirect to another webpage in JavaScript/jQuery?, but I'm not exactly sure where this should go.

I have tried in the controller with:
window.location.replace("http://192.168.1.109/MWT/Taglist/ShowMap" + LastId);
and in the view with:

<% if (BreakCount >= 8) {       var url = "http://192.168.1.109/MWT/Taglist/ShowMap" + LastId;       window.location.replace(url);   } %>   

Neither of these work. In both places places window has a red squiggly line underneath it and when I hover over it the message says "The name 'window' does not exist in the current context."

Any help would be greatly appreciated!

=D

like image 435
Dracco1993 Avatar asked Aug 08 '11 16:08

Dracco1993


People also ask

Can you redirect any URL?

When you redirect a URL, you're simply forwarding it to another address on the same, or different domain. You can set up a redirect that sends visitors to your new domain name when they'll try to access a URL that belonged to your old domain.

Can I redirect a domain to a specific URL?

What is URL redirect? URL redirect (URL forwarding) allows you to forward your domain visitors to any URL of your choice (to a new domain or a different website). You can set 301 (Permanent), 302 (Unmasked), and Masked (URL Frame) redirects for the domain names pointed to BasicDNS, PremiumDNS or FreeDNS.


2 Answers

Your question is tagged MVC 3, so I'll give you the answer for that in spite of the JavaScript example you listed. In your controller class use this code:

public ActionResult MyAction() {     // Use this for an action     return RedirectToAction("ActionName");     // Use this for a URL     return Redirect("http://192.168.1.109/MWT/Taglist/ShowMap" + LastId); } 

This is occuring on the server, meaning that the client browser recieves a redirect response for which the browser will likely submit an additional request. If you return a page with JavaScript it will have to load a page, run the JavaScript (presuming it is enable on the client's browser), the load the next page. Among other problems, using JavaScript means that if the user presses the back button they will be repeatedly redirected again back to the page they are currently on.

like image 97
Paul Avatar answered Sep 17 '22 05:09

Paul


Inside your controller call return RedirectToAction().

public ActionResult MyAction() {      return RedirectToAction("Index", "Home"); } 

or, it you use T4MVC (and you should ;-))

public ActionResult MyAction() {      return RedirectToAction(MVC.Home.Index()); } 

Do not put the if statement in the view - that's not the MVC way. It is the responsibility of the controller to decide whether to redirect to a different view.

like image 37
Jakub Konecki Avatar answered Sep 18 '22 05:09

Jakub Konecki