2011-08-03 58 views
2

我有兩個獨立的網站在本地運行在我的IIS服務器上。一個是正​​常的端口80和另一個90.現在,我有一個默認頁面,使用戶選擇其中一個圖片,將他們重定向到正確的網站。你如何Response.Redirect到另一個具有相同名稱但具有不同端口的網站?

它工作正常使用80端口,因爲你沒有指定你正在運行一個正常的網站,該網站的端口,但我怎麼可以重定向第二張照片重定向到端口90

這是代碼我有,但它不斷增加一個愚蠢的斜槓...

Response.Redirect(Request.ApplicationPath + ":90/login.aspx"); 

它結束了顯示http://192.168.2.122/:90/login.aspx

任何幫助將很樂意讚賞。謝謝!

回答

3

您可以使用Request.Url來獲取當前URL的片段。

Response.Redirect(
    "http://" + Request.Url.Host + ":90" + 
    Request.ApplicationPath + "/login.aspx"); 

編輯:調整以補償備用應用程序路徑(因爲我確實在評論中提到它)。

4
Response.Redirect(Request.ApplicationPath.TrimEnd("/") + ":90/login.aspx"); 
+1

Request.ApplicationPath返回應用程序所在位置的絕對URL。巧合的是,這將適用於該示例,但如果應用程序位於子目錄中,重定向將再次打破。在上面的例子中,Request.ApplicationPath.TrimEnd(「/」)返回一個空字符串,所以最終的重定向參數是「:90/login.aspx」。如果應用程序位於子目錄中,它將返回「/appsubdir:90/login.aspx」 –

相關問題