如何重定向到网址?

Dra*_*993 29 redirect asp.net-mvc-3

如何将查看器重定向到URL?

我注意到有人问如何重定向到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);  
} %>  
Run Code Online (Sandbox Code Playgroud)

这些都不奏效.在这两个地方,地方window下方都有一条红色的波浪线,当我将鼠标悬停在它上面时,消息显示"当前上下文中不存在名称'窗口'."

任何帮助将大大感激!

= d

Pau*_*aul 71

你的问题被标记为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);
}
Run Code Online (Sandbox Code Playgroud)

这在服务器上发生,这意味着客户端浏览器收到重定向响应,浏览器可能会提交其他请求.如果您返回一个包含JavaScript的页面,则必须加载页面,运行JavaScript(假设它在客户端的浏览器上启用),加载下一页.除了其他问题之外,使用JavaScript意味着如果用户按下后退按钮,它们将被重复重定向到他们当前所在的页面.


Jak*_*cki 6

在你的控制器调用内return RedirectToAction().

public ActionResult MyAction() {

    return RedirectToAction("Index", "Home");
}
Run Code Online (Sandbox Code Playgroud)

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

public ActionResult MyAction() {

    return RedirectToAction(MVC.Home.Index());
}
Run Code Online (Sandbox Code Playgroud)

不要将if语句放在视图中 - 这不是MVC方式.控制器负责决定是否重定向到不同的视图.