2012-09-06 26 views
-2

試圖放在一起快速和髒頁面重定向到另一個網站在一個新的窗口。asp.net MVC,重定向到查看,查看打開新窗口到外部網址,它被視爲視圖

所以我藏在會話中的網址,重定向到從mvcSiteMap頁面,點擊頁面...

運行這個JavaScript

$(document).ready(function() { 
     window.open('@HttpContext.Current.Session["EisUrl"].ToString();'); 
    }); 


</script> 

}

和而不是打開一個指向google.com的新窗口,我得到與此消息相同的窗口。

未找到'http://google.com'或其主人的視圖或沒有視圖引擎支持搜索的位置。搜索了以下位置: 〜/ Views/ReportsManagement/http://google.com.aspx 〜/ Views/ReportsManagement/http://google.com.ascx 〜/ Views/Shared/http:// google .com.aspx 〜/ Views/Shared/http://google.com.ascx 〜/ Views/ReportsManagement/http://google.com.cshtml 〜/ Views/ReportsManagement/http://google.com .vbhtml 〜/查看/共享/ HTTP://google.com.cshtml 〜/查看/共享/ HTTP://google.com.vbhtml

所以它的治療我的外部URL,如果它仍然是內部網站...

這似乎應該是很簡單.....很明顯我錯過了一些明顯的東西。

任何幫助表示讚賞。

+0

您的jovialscript正在擊中您的ASP.NET MVC服務器,並嘗試執行控制器。 –

+0

@DarthVader你是什麼意思?他接受2/3他提出的問題的答案。 –

+0

爲什麼負面代表?我回答了,它已經有了答案,所以我不能刪除它,儘管試圖......這種行爲是不合邏輯的,其他人可能會碰到它,所以答案甚至可能有幫助...我不知道做了什麼不同。 –

回答

0

我計算出來,我被一個id10噸,

我在視圖中有這個(剃刀)

@model string 

並且這在控制器

public ActionResult GetEisReportRedirect() 
     { 
      string url = eisReportBLLHdl.DoGetEisReportRedirect(); 

      return View(url);// i was passing url here to the view 
     } 

所以它試圖通過字符串作爲模型,我決定我不確定的確切行爲,並交換到將其放入會話.. b把這些留在原地。

出於某種原因,該字符串被作爲一個URL進行插入,新窗口沒有開啓的事實應該是一個線索,它早早脫軌。

當我從模型和url參數從返回視圖()中刪除...它現在重定向正確(只是不在一個新的頁面,但我會得到的)

感謝您的幫助!

1

嘗試

window.location = '@HttpContext.Current.Session["EisUrl"].ToString()';

+0

試過Window.location,它做同樣的事情。我正在嘗試打開一個新窗口,並在我的MVC應用程序之外獲得了一個URL ...我錯過了什麼?我發誓以前我做過這個... –

+0

你如何設置Session變量? – hofnarwillie

+0

HttpContext.Current.Session [「EisUrl」] = url; –

3

確保什麼被從會話呈現的是你所期望的正確和良好形成的網址。我通常還使用window.location在JavaScript中重定向。

3

也許完全超出範圍,但不能在ActionResult中做到這一點?

return Redirect("http://www.google.com"); 
+0

這將重定向,而不是打開一個新的窗口,對不對? –

+0

@ EricBrown-Cal的確如此。 –

+0

很抱歉,如果我還不清楚,我需要打開一個新的窗口,然後將其重定向到一個外部網頁(測試google.com) –