假設有一個按鈕觸發的事件 需要經過確認
只要在button.onClientConfirm屬性
設定你要他先跳出來的訊息就好
比如
Button.OnClientClick=(“return confirm(‘確定執行嗎?’);”
月份: 2013 年 11 月
[轉貼]ASP.NET(VB) 參數傳遞
ViewState、Session、Cookies、Application State比較
http://www.dotblogs.com.tw/hatelove/archive/2009/06/28/viewstate-session-cache-cookies-application-of-user-state.aspx
ASP.NET application、session、cookie、Viewstate、Postback
http://blog.xuite.net/tolarku/blog/27528606-ASP.NET+application%E3%80%81session%E3%80%81cookie%E3%80%81Viewstate%E3%80%81Postback
- Get
- 單純傳遞 可能被修改
- 在網址列可以查看
- String格式存放
- 常製作於分頁切換
- Post
- 單純傳遞 可能被修改
- 原始碼內會被查看
- Cookies
- 使用方式:Response.Cookies(“變數名稱”).Value=變數值
- 設定 Cookie 有效期限 Response.Cookies(“變數名稱”).Expires=Now.AddDays(180) ‘180天後到期
- 單一使用者,存在client端,讀的到就活著。
- 需注意安全性考量,通常用在個人化portal或profile。
- 有些single sign on會透過cookie(加密)來存放帳號資訊。
- String格式存放
- 將資料存在使用者的電腦中,大多瀏覽器限制檔案大小不得超過 4096 Bytes,每個網站最多存放20個 Cookie。
以下ASP.Net特有
- ViewState
- 只存在於正在執行那一頁,通常用於postback記值(因為http無狀態)。
- 原理是HTML上的hidden field,會透過Base-64編碼
- webconfig裡可以透過設定來加密:<pages viewStateEncryptionMode=”Always” />
- 通常server control會透過viewstate來保存其屬性值,也是傳統ASP.NET web form重整頁面最容易碰到的效率問題。可透過EnableViewState屬性開關。
- 可存放可序列化的Object (一般程式用到普遍最大的應該也只是hash table吧 )
- Session
- 使用方式:session(“變數名稱”)=變數值
- 可存在於該連線,不同頁面,通常用來跨多頁傳些比較重要、需要安全的值。如果是前後頁面關連性的值,只需要用URL parameter即可。Session的意義比較像是在什麼樣的情況下,開始或變更了某個Session的值。
- 類似跨網頁的全域變數
- 佔用Server端記憶體,連線數量一暴增,記憶體很可能被操掛。
- 預設存在記憶體裡,可以改存在Session State Server或DB。(如果放在Session State Server或者DB,存放的物件也必須是可序列化的)
- 可設定存活時間,但發生錯誤或特定情況時,會導致Session遺失,請參考:[ASP.NET]Session遺失的幾種可能
- 可存放可序列化的Object
- Application
- 使用方式:application(“變數名稱”)=變數值
- 在Server上所有User存取同一份。
- 當Web application重起或關閉時結束。
- 吃Server記憶體。
- 可存放可序列化的Object
- Q:因為該變數是共用,所以會有互相搶用的問題,所以在修改該值時都應該先 Lock。Application.Lock() → Application(“count”)+=1 → Application.UnLock()
- Cache
- 吃Server記憶體。
- 可設定時間、hit rate或先進先出來當作條件。
- 通常應用在靜態網頁快取。