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意味着如果用户按下后退按钮,它们将被重复重定向到他们当前所在的页面.
在你的控制器调用内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方式.控制器负责决定是否重定向到不同的视图.
| 归档时间: |
|
| 查看次数: |
89130 次 |
| 最近记录: |