一般表單當送出後,需要執行比較長的時間,往往畫面留著,有些使用者等不及會再按看看,造成表單重複送出。其實這個問題可以用一個絕對位置的div搭配簡單的JavaScript就可以把表單遮蓋,讓等待的人按不到按鈕。

程式很簡單,先看一下畫面的部分:
<div> 
    測試  
    <asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="divBlock.style.display='';" /> 
     
 
    <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label> 
</div> 
<div id="divBlock"   
    style="border-style: solid; border-width: 1px; z-index: 1; position: absolute; top: 3px; left: 4px; height: 142px; width: 262px; background-color: #808080;filter: Alpha(Opacity=80);display:none;"> 
    <font color="yellow" size="7">處理中......</font> 
</div> 

再來為了按了按鈕可以模擬執行較久,所以寫了個簡單的迴圈,讓她辛苦一點跑久一點
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click  
    Dim y As Integer 
    Dim c As Integer = 0  
    '跑一個比較久的迴圈  
    For y = 0 To 1000000000  
        c += 1  
    Next 
    Me.Label1.Text = c.ToString & "--" & Now.ToString  
End Sub



轉載至 http://www.dotblogs.com.tw/topcat/archive/2008/12/09/6307.aspx


arrow
arrow
    全站熱搜

    Roger 發表在 痞客邦 留言(0) 人氣()