在服務器段處理鼠標雙擊點座標

    在web應用程序中如何把鼠標雙擊點的座標傳遞到服務器端,並對其進行操作?就此問題我將做個簡單介紹,希望對大家能有幫助。<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

鼠標的雙擊事件是客戶端事件,無法直接在服務器端獲取鼠標雙擊點的座標,也就不能對其進行有效操作。所以必須通過客戶端事件和服務器端事件的結合來實現需求。

第一步:創建客戶端控件

在客戶端我們可以創建html控件。在程序中,你如果不希望鼠標雙擊點的座標顯示在頁面上,可以創建HtmlInputHidden控件。我創建的控件如下:

        protected System.Web.UI.HtmlControls.HtmlInputHidden  hidx;

        protected System.Web.UI.HtmlControls.HtmlInputHidden  hidy;

如果你希望雙擊點座標顯示出來,那你就可以根據自己的需要來創建相應的客戶端控件。

第二步:創建服務器端控件

爲了簡單明瞭的顯示程序結果,我創建了兩個Label控件和一個Button控件。如下:

        protected System.Web.UI.WebControls.Label  lblX;

        protected System.Web.UI.WebControls.Label  lblY;

        protected System.Web.UI.WebControls.Button  btnxy;

    第三步:添加客戶端代碼

爲了在窗體中把鼠標雙擊點的座標傳遞到兩個html控件中,編寫腳本:

        <script language="javascript" id="shubiaoshijian">

           function shubiao_ondblclick()

           {

             document.Form1.hidx.value=window.event.clientX;

             document.Form1.hidy.value=window.event.clientY;

            }

        </script>

        body添加ondblclick()事件

        <body MS_POSITIONING="GridLayout" οndblclick="shubiao_ondblclick()">

    第四步:添加服務器端代碼

 在服務器端的Button控件btnxy的單擊事件中就可以接受鼠標雙擊點的座標值了:

      private void btnxy_Click(object sender, System.EventArgs e)

     {

           lblX.Text = “X座標:” + hidx.Value ;

          lblY.Text = “Y座標:” + hidy.Value ;

     }

    通過以上步驟,我們就可以把客戶端的鼠標雙擊點的座標傳遞到了服務器端。接下來就可以利用這些座標值來實現我們的其他需求了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章