在web应用程序中如何把鼠标双击点的坐标传递到服务器端,并对其进行操作?就此问题我将做个简单介绍,希望对大家能有帮助。
鼠标的双击事件是客户端事件,无法直接在服务器端获取鼠标双击点的坐标,也就不能对其进行有效操作。所以必须通过客户端事件和服务器端事件的结合来实现需求。
第一步:创建客户端控件
在客户端我们可以创建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" ondblclick="shubiao_ondblclick()">
    第四步:添加服务器端代码
 在服务器端的Button控件btnxy的单击事件中就可以接受鼠标双击点的坐标值了:
      private void btnxy_Click(object sender, System.EventArgs e)
     {
           lblX.Text = “X坐标:” + hidx.Value ;
          lblY.Text = “Y坐标:” + hidy.Value ;
     }
    通过以上步骤,我们就可以把客户端的鼠标双击点的坐标传递到了服务器端。接下来就可以利用这些坐标值来实现我们的其他需求了。