2011-08-08 174 views
28

如何将浏览器重定向到URL?如何重定向到URL?

我注意到有人问How to redirect to another webpage in JavaScript/jQuery?,但我不确定这应该去哪里。

我曾尝试在控制器:
window.location.replace("http://192.168.1.109/MWT/Taglist/ShowMap" + LastId);
并与观点:

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

无论这些工作。在这两个地方window的底部都有一条红色的波浪线,当我将鼠标悬停在它上面时,消息显示“名称'窗口'在当前上下文中不存在”。

任何帮助将大大赞赏!

= d

回答

68

你的问题被标记为MVC 3,所以我会给你答案,尽管你列出的JavaScript的例子。在你的控制器类使用此代码:

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); 
} 

这是发生在服务器上,这意味着客户端浏览器临危重定向响应了该浏览器可能会提出额外的要求。如果你用JavaScript返回一个页面,它将不得不加载一个页面,运行JavaScript(假设它在客户端的浏览器上启用),加载下一页。在其他问题中,使用JavaScript意味着如果用户按下后退按钮,他们将被重复重定向到他们当前所在的页面。

+0

谢谢!我的程序在你的代码的帮助下正常工作。 – Dracco1993

3

尝试这样的:

<script type="text/javascript"> 
    // Make sure the LastId variable is defined 
    var LastId = '123'; 
    <% if (BreakCount >= 8) { %> 
     var url = "http://192.168.1.109/MWT/Taglist/ShowMap" + LastId; 
     window.location.replace(url); 
    <% } %> 
</script> 
5

内部控制器的呼叫return RedirectToAction()

public ActionResult MyAction() { 

    return RedirectToAction("Index", "Home"); 
} 

,或者它使用T4MVC(你应该;-))

public ActionResult MyAction() { 

    return RedirectToAction(MVC.Home.Index()); 
} 

不要把if声明中的观点 - 这不是MVC方式。控制器有责任决定是否重定向到不同的视图。

-1

请试试这样:

top.location.href =“/ url”;

0

试试这个:

<script type="text/javascript"> 
    var id = '123'; 
    location.href = "http://192.168.1.109/MWT/Taglist/ShowMap/" + id; 
</script>