我用下面的MSDN代碼我的母版頁上,如果瀏覽器接受Cookie檢測:錯誤處理頁面上遞歸重定向
protected void Page_Load(object sender, EventArgs e)
{
if(!this.IsPostBack) {
if(Request.QueryString["CookieTest"] == null) {
Response.Cookies["TestCookie"].Value = "Test";
Response.Redirect("CookieCheck.aspx.redirect=" + Server.UrlEncode(Request.Url.ToString())));
}
else if((string)Request.QueryString["Test"] == "passed") {
// my stuff...
}
}
}
的CookieCheck.aspx包含以下內容:
protected void Page_Load(object sender, EventArgs e)
{
if(Request.Cookies["TestCookie"] == null)
Response.Redirect(Request.QueryString["redirect"] + "?Test=notPassed", true);
else
Response.Redirect(Request.QueryString["redirect"] + "?Test=passed", true);
}
在web.config我已經定義了以下內容:
<customErrors mode="On" defaultRedirect="Error.aspx" />
現在識別餅乾工程好吧,但我有這個問題:每當頁面發生錯誤,我應該重定向到Error.aspx(並且這在整個cookie檢測事情之前工作),重定向似乎停留在一個無限循環,並追加越來越多的「 ?測試=傳遞「到URL。我應該提到Errors.aspx也有相同的masterpage,因此也執行cookie檢查。但我不知道爲什麼重定向不停止。有沒有辦法解決這個問題,而不是將Errors.aspx頁面從主頁面中排除?非常感謝你。
不,CookieCheck.aspx沒有母版頁,所以這不是原因。 你的新基類的方法看起來很乾淨合理,我會考慮這個。 – noisecoder 2009-06-17 12:22:27