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
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.
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.
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.
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With