js button 事件如下:
document.getElementById('btnSelect').onclick =function(){
var s= '<%=Getlongi_lati() %>';
var longtitude1= <%=longti1 %>;
var latitude1= <%=lati1 %>;
var newData = new google.maps.LatLng(latitude1,longtitude1);
map.setCenter(newData);
}
按钮:
<input type="button" name="button1" value="查询" id="btnSelect" />
后台方法:
protected decimal Getlongi_lati()
{
if (!string.IsNullOrEmpty(txtequip.Text.Trim()))
{
longti1 = (decimal)Traffic.BLL.Equipment.Equipments.Find(c => c.EquipID == txtequip.Text.Trim()).Longitude;
lati1 = (decimal)Traffic.BLL.Equipment.Equipments.Find(c => c.EquipID == txtequip.Text.Trim()).Latitude;
}
//else
//{
// longti1 = 116.4659500000000000m;
// lati1 = 39.9714900000000000m;
//}
return lati1;
}
在后台方法中,根据前台文本框中的设备ID获取对用设备经纬度,传到前台js代码的button事件中,然后重新定位地图中心点,为什么点按钮的时候没反应啊,求高手解答啊!!1
------解决方案--------------------------------------------------------
调用后台的方法1:回调
代码例子
- C# code
<%@ Page Language="C#" EnableViewState="false" %> <%@ Implements Interface="System.Web.UI.ICallbackEventHandler" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><script runat="server"> private string ReturnBackValue = " 返回到客户端的内容 | "; //声明函数,用来返回到客户端。 public string GetCallbackResult() { return ReturnBackValue;//将结果返回客户端 } //声明一个函数,用来接收客户端的参数;函数名字不可以随便,必须是RaiseCallbackEvent才可以 public void RaiseCallbackEvent(String eventArgument) { this.ReturnBackValue += eventArgument; }</script><html xmlns="http://www.w3.org/1999/xhtml"><head> <title></title> <script type="text/javascript"> function myfunction(arg) { <%=Page.ClientScript.GetCallbackEventReference(Page, "arg", "showMsg","")%>; } function showMsg(rValue) { alert(rValue); } alert("刷新测试"); </script></head><body> <form id="form1" runat="server"> <input type="button" onclick="myfunction('客户端传入的参数')" value="无刷新调用" /> </form></body></html>
------解决方案--------------------------------------------------------
对于新手,你要先了解web程序的运行机制。
服务器端的的代码是先执行的,执行完毕才发送到客户端,js才能执行。
<%%>里面的代码都是服务器端代码