2011-08-08 221 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>