我在驗證登錄憑據後調用response.redirect 這一切在.net framework 3.5 中正常工作,但是當我升級到.net 4.5時 沒有任何反應。它保持在同一頁面上。Response.Redirect在.Net 4.5中不起作用
我已經試過各種排列
System.Web.HttpContext.Current.Response.Redirect("/");
System.Web.HttpContext.Current.Response.Redirect("/", false);
System.Web.HttpContext.Current.ApplicationInstance.CompleteRequest();
似乎沒有任何工作 我已經把一個嘗試捕捉周圍和使用假時,我沒有得到任何的異常。
該代碼被調用了一個asp:button onClick事件。在點擊事件過程中,我檢查憑據是否正確,如果他們是我執行登錄設置會話變量...並將其重定向到相應的登錄頁面以查看其角色。
更多信息 我把我的問題歸結爲基本情況。在以下情況中,兩個按鈕都會調用調用Response.redirect的相同函數btnTemp_Click。在asp:按鈕的情況下,它在HTML5按鈕的情況下不起作用。在這兩種情況下,都會執行response.redirect上的斷點。
<asp:Button ID="btnTemp" Text="Test Redirect" runat="server" OnClick="btnTemp_Click" />
<button id="btnTmp2" runat="server" onserverclick="btnTemp_Click" >button to Redirect</button>
protected void btnTemp_Click(object sender, EventArgs e)
{
HttpContext.Current.Response.Redirect("http://www.google.com", false);
}
別的東西,點擊按鈕之後是怪異的ASP:按鈕不再起作用
如果我創建了一個全新的Web應用程序,並沒有任何在它不過這兩個按鈕它的工作原理對彼此而言。所以我必須有一些代碼在onserverclick命中的地方做某事,但onclick不會。
你能給這個代碼的情況下更多的細節?它被用於Web窗體,MVC或其他東西嗎?如果Web窗體,你在(Load,Pre Init,LoadComplete等)中使用了哪個事件?不知道更多,這將很難回答。 – Ryan
'Response.Redirect'總是拋出一個異常。這就是爲什麼你認爲你需要一個'try/catch'。它不會拋出'false'的原因是因爲第二個參數決定線程是否中止。現在,當你說它不起作用時,那是可疑部分。 **你怎麼知道*它不工作?** –
嘗試改變'Response.Redirect(「/」)''Response.Redirect(「〜/」)' – th1rdey3