close

要防止使用者重覆送出資料,「HTML 前端」常見的處理方式是在使用者按下「送出 (submit)」鍵時,

 直接把按鈕 disabled 設為 true。 當然這邊說的 disabled 是指 HTML 畫面的按鈕 disabled 屬性 ,

 而非 .Net 按鈕元件的 diabled。 絕大部份的 Web Scripts 做這件事易如反掌,但是在 ASP.Net 就似

 乎不是那麼簡單了,因為 ASP.Net 的架構是透過層層的 submit 來傳遞參數,如果 disabled 設為 true

,也代表著程式會被中斷掉。 因此如果要達到某個按鈕按下去,而且立刻在畫面上呈現 disabled 狀態, 可以在 Page_Load 時, 設定按鈕的事件:

 
btnSubmit.Attributes("onclick") ="javascript:this.disabled=true;
" +GetPostBackEventReference(btnSubmit).ToString()

重點在於 GetPostBackEventReference(btnSubmit).ToString() 會在畫面端轉為對應的 javascript PostBack 函式,如:

__doPostBack(btnSubmit,)

這樣就能達到使用者 submit 時,按鈕無法再按第二次的功能了。

arrow
arrow
    全站熱搜

    法蘭克不要怕 發表在 痞客邦 留言(0) 人氣()