日期:2014-05-17  浏览次数:20470 次

js button事件调用后台方法没有效果啊。。。
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才能执行。

<%%>里面的代码都是服务器端代码