我正在開發一個asp.net網站&我沒有使用asp.net的內置身份驗證控件。「返回」 - 瀏覽器不能進入前一頁 - 退出後
我已經爲網站的用戶手動創建了表。
我要的是如下
- 用戶可以訪問的頁面登錄後(即已經完成)
- 當用戶按註銷。 (用戶轉到特定頁面 - 示例 - default.aspx)
- **現在,當用戶按瀏覽器的「返回」按鈕時它不能轉到上一頁。 ** (即在雅虎頁面中完成 - 我想實現相同)。
請通知我是否它是重複問題。
在此先感謝您的幫助。
薩加爾。
我正在開發一個asp.net網站&我沒有使用asp.net的內置身份驗證控件。「返回」 - 瀏覽器不能進入前一頁 - 退出後
我已經爲網站的用戶手動創建了表。
我要的是如下
請通知我是否它是重複問題。
在此先感謝您的幫助。
薩加爾。
要在按下後退按鈕時,爲防止用戶看到以前的頁面,你需要不指示瀏覽器緩存此頁:
Response.Cache.SetExpires(DateTime.UtcNow.AddDays(-1));
Response.Cache.SetValidUntilExpires(false);
Response.Cache.SetRevalidation(HttpCacheRevalidation.AllCaches);
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Cache.SetNoStore();
你可以把這個代碼在所有的認證頁面,從而防止它們在客戶端瀏覽器上緩存。
對於一個不被緩存的頁面,瀏覽器需要對緩存指令作出適當的響應,但不能保證這將適用於每個瀏覽器! (一個適當的邪惡的人可以編寫他們自己的瀏覽器來忽略緩存信息,或者寫一個代理去除它...)
所以你不能讓這個工作100%的時間,但你總是要面對一個問題,一個用戶可以輕鬆地截圖,打印出一個頁面,在他們的磁盤上保存一份副本等等,無論如何,一旦你已經給他們一個頁面...
你的答案問題是:
用於當用戶按退出。 (用戶轉到特定頁面 - example - default.aspx) 您可以添加LinkButton作爲退出鏈接,並在Click事件處理程序中編寫 Response.Redirect(「Default.aspx」);
的現在,當用戶按下「返回」瀏覽器的按鈕,它不能返回上一頁 //添加以下代碼到你的代碼的頁面
保護覆蓋無效的OnPreRender(EventArgs的五)
的背後{
base.OnPreRender(e);
string strDisAbleBackButton;
strDisAbleBackButton = "<script language="javascript">\n";
strDisAbleBackButton += "window.history.forward(1);\n";
strDisAbleBackButton += "\n</script>";
ClientScript.RegisterClientScriptBlock(this.Page.GetType(), "clientScript", strDisAbleBackButton);
}
指csharpdotnetfreak.blogspot.com
是的。正確和短的解決方案。很棒的一個。你很優秀」 – 2009-12-26 18:13:12