我用asp.net HyperLink做了一個註銷鏈接,用NavigateUrl =「Default.aspx?註銷= 1」。 在默認的PageLoad中,我檢查查詢字符串是否爲空,如果不是會話終止並且用戶被重定向到同一頁面,而沒有查詢字符串充當登錄頁面。Resonse.Redirect從VisualStudio工作,但不從IIS工作
在默認pageLoad的代碼是:
if (Request.QueryString["Logout"] != null)
{
FormsAuthentication.SignOut();
Session.Clear();
Session.Abandon();
Response.Redirect("~/Default.aspx", true);
}
當它從它工作正常的運行VisualStudio的,但是當它從IIS中運行我得到的資源找不到錯誤。 描述:HTTP 404.您正在查找的資源(或其某個依賴項)可能已被刪除,名稱已更改或暫時不可用。請檢查以下網址並確保它拼寫正確。請求的網址:/Default.aspx。
同一個頁面是程序的開始頁面,當它打開時調用沒有問題。 在調試中,我看到頁面加載已激活,並且輸入了if,因此問題出現在Response.Redirect url中。我試着把〜/或者只是〜或者做../或者/ProgramName//Default.aspx。沒有任何工作。
編輯:我的錯誤,問題不在LOAD事件。當從IIS運行時,程序不會將其返回到服務器,問題出在HyperLink NavigateUrl上。試圖改變它不會有幫助。任何想法?
你在unix上運行你的網站嗎? – Aristos 2013-05-06 10:08:36
如果將行替換爲:'Response.Redirect(Request.Url.GetLeftPart(UriPartial.Path),true);'? – 2013-05-06 10:42:00
@Aristos不是我所知道的。 – 2013-05-06 10:45:26