2012-04-13 52 views
0

問題我有一個非常基本的測試頁面,用一個按鈕,點擊按鈕調用與Response.Redirect的

Response.Redirect("b.aspx")當頁面加載http://myhost/index.aspx這工作得很好。但是,當通過http://myhost/加載同一頁面時,重定向不起作用(同一頁面只是像正常回發一樣重新加載)。

服務器是運行ASP.NET4的IIS7。我也試過Response.Redirect("~/b.aspx")?還有沒有湯?

+1

你有什麼問題,是一個例外,黃色屏幕,錯誤的結果,...? – 2012-04-13 17:15:27

+0

你碰巧有一個與index.aspx具有相同佈局的default.aspx?您的http:// myhost /可能會加載default.aspx – peroija 2012-04-13 17:22:03

回答

1

嘗試Response.Redirect("...", true);

它不會讓在頁面上運行的代碼的其餘部分,而其餘代碼可能是從根服務器轉移到歡迎頁面,這是搞亂你。

0

您可能想嘗試設置默認頁面。在Visual Studio中,進入項目的屬性頁面,在啓動選項中,選擇開始操作到特定的頁面到index.aspx。這樣,當您訪問http://myhost/時,它將轉到http://myhost/index.aspx

0

我無法重現您的行爲。我已經寫了兩個你描述的aspx頁面,當我點擊index.aspx頁面上的按鈕時,無論我訪問頁面爲http://localhost/index.aspx還是僅僅http://localhost/(在將index.aspx設置爲默認文檔之後,我都會重定向到b.aspx) IIS)。所以它必須是IIS配置的某種錯誤或問題。

我建議確保在調試器中,Response.Redirect()確實執行並使用Fiddler等工具來檢查響應頭。

+0

我目前正在一個asp.net網站上工作,但無法重現該問題。 – Amaranth 2012-04-13 19:18:43