在服务器段处理鼠标双击点坐标

在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 控件中,编写脚本:

 1<script id="shubiaoshijian" language="javascript">
 2
 3function shubiao_ondblclick() 
 4
 5{ 
 6
 7document.Form1.hidx.value=window.event.clientX; 
 8
 9document.Form1.hidy.value=window.event.clientY; 
10
11} 
12
13</script>

给 body 添加 ondblclick() 事件

 1<body ms_positioning="GridLayout" ondblclick="shubiao_ondblclick()">
 2
 3第四步:添加服务器端代码 
 4
 5在服务器端的  Button  控件  btnxy  的单击事件中就可以接受鼠标双击点的坐标值了: 
 6
 7private void btnxy_Click(object sender, System.EventArgs e) 
 8
 9{ 
10
11lblX.Text = “X  坐标:  ” + hidx.Value ; 
12
13lblY.Text = “Y  坐标:  ” + hidy.Value ; 
14
15} 
16
17通过以上步骤,我们就可以把客户端的鼠标双击点的坐标传递到了服务器端。接下来就可以利用这些坐标值来实现我们的其他需求了。</body>
Published At
Categories with Web编程
Tagged with
comments powered by Disqus