如何将查看器重定向到网址?
我注意到有人问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
答案 0 :(得分:70)
你的问题被标记为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意味着如果用户按下后退按钮,他们将被重复重定向到他们当前所在的页面。
答案 1 :(得分:6)
在控制器内部拨打return RedirectToAction()
。
public ActionResult MyAction() {
return RedirectToAction("Index", "Home");
}
或者,你使用T4MVC(你应该; - ))
public ActionResult MyAction() {
return RedirectToAction(MVC.Home.Index());
}
不要在视图中放置if
语句 - 这不是MVC方式。控制器负责决定是否重定向到不同的视图。
答案 2 :(得分:4)
试试这样:
<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>
答案 3 :(得分:1)
试试这个:
<script type="text/javascript">
var id = '123';
location.href = "http://192.168.1.109/MWT/Taglist/ShowMap/" + id;
</script>
答案 4 :(得分:-1)
试试这样:
top.location.href =“/ url”;