在 ASP.NET 使用 jQuery BlockUI 外掛程式

來源:互聯網
上載者:User

BlockUI 是一個相當不錯的jQuery外掛程式,它可以輕易設定頁面指定地區顯示執行中文字(如 Loading...)並鎖定該地區限制輸入。簡單的說,若我們希望網頁在執行PostBack 或 Ajax 更新的過程中,希望能限制輸入或重複按鈕並顯示處理中訊息的話,那 BlockUI 是相當不錯的選擇,接下來我們就來示範如何在 ASP.NET 中使用 BlockUI。

BlockUI 是 jQuery 的插入,所以要下載 jQuery 及 BlockUI 插入的 js 檔 (jquery.js 及 jquery.blockUI.js),相關檔案可由下列連結下載
jquery.js:http://jquery.com/
jquery.blockUI.js:http://malsup.com/jquery/block/ (該網站有 BlockUI 使用的詳細說明)

在 VS2005 新增一個 ASP.NET AJAX 網站專案,將 jquery.js 及 jquery.blockUI.js 檔案複製至網站 js 資料夾,並在頁面中的 head 區塊加入引用

   1:  <head runat="server">
   2:      <title>jQuery BlockUI Plugin</title>
   3:      <script src="js/jquery.js" type="text/javascript"></script>
   4:      <script src="js/jquery.blockUI.js" type="text/javascript"></script>
   5:  </head>
 在頁面中加入 UpdatePanel 控制項,並在 UpdatePanel 中置入一個 Button,aspx 程式碼如下 
   1:      <form id="form1" runat="server">
   2:          <asp:ScriptManager ID="ScriptManager1" runat="server" />
   3:      <div>
   4:          <asp:UpdatePanel ID="UpdatePanel1" runat="server">
   5:              <ContentTemplate>
   6:                  <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" />
   7:              </ContentTemplate>
   8:          </asp:UpdatePanel>
   9:      </div>
  10:      </form>

在 Button 的 Click 事件中撰寫等待 3 秒的程式碼,這是為了呈現 BlockUI 的效果。

   1:      Protected Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
   2:          Dim N1 As Integer
   3:          For N1 = 1 To 3
   4:              System.Threading.Thread.Sleep(1000)
   5:          Next
   6:      End Sub
 
使用 BlockUI 外掛程式相當容易,只要頁面 submit 時呼叫 $.blockUI() 就會顯示 BlockUI,而頁面載入時呼叫 $.unblockUI() 隱藏 BlockUI。
所以在頁面 Page Load 事件中撰寫如下程式碼。
 
   1:      Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
   2:          Dim sScript As String
   3:   
   4:          '頁面執行 Submit 時顯示 blockUI
   5:          sScript = "$.blockUI();"
   6:          ScriptManager.RegisterOnSubmitStatement(Me, Me.GetType(), "blockUI", sScript)
   7:   
   8:          '頁面載入時隱藏 blockUI
   9:          sScript = "$.unblockUI();"
  10:          ScriptManager.RegisterStartupScript(Me, Me.GetType(), "unblockUI", sScript, True)
  11:      End Sub
 執行結果如下,因為 $.blockUI() 未指定地區,所以會將整個頁面 Lock 並顯示 "Please wait..." 的訊息。當執行結束時,就會呼叫 $.unblockUI() 來隱藏 BlockUI。   若我們希望將顯示的文字改為「資料載入中...」並加入等待圖示的話,可以在 $.blockUI() 傳入 message 參數,程式碼修改如下 
   1:          '頁面執行 Submit 時顯示 blockUI
   2:          sScript = "$.blockUI({" & _
   3:                    "message: '<h3></br><img src=""busy.gif"" /> 資料載入中...</h3>'" & _
   4:                    "});"
   5:          ScriptManager.RegisterOnSubmitStatement(Me, Me.GetType(), "blockUI", sScript)
 執行結果如下    
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.