从 JavaScript 触发 C# 方法并发送参数
本文关键字:并发 参数 方法 JavaScript 触发 | 更新日期: 2023-09-27 17:56:29
我正在尝试从JavaScript调用C#方法,并在调用时发送参数。我已经调用了 web 方法,但由于我无法在静态 web 方法中访问服务器端控件,因此在这种情况下我无法真正使用它。
我无法进行完整的回发,因为我需要获取 Google 地图坐标,就我而言,我以这种方式访问它们,并且我无法以不同的方式访问它们:
var map = new google.maps.Map(document.getElementById("dvMap"), mapOptions);
var bounds = new google.maps.LatLngBounds();
bounds = map.getBounds();
var latLng = map.getCenter();
var latSW = bounds.getSouthWest().lat();
var lngSW = bounds.getSouthWest().lng();
var centerLat = latLng.lat();
var centerLng = latLng.lng();
所以现在,由于我想将其中一些参数传递给实际的 c# 函数,即使我需要执行完整的服务器端回发,只要我的后端代码中有控件,也可以。
进入服务器端后,我需要用数据集填充 asp.net 中继器控件,这是我需要触发后端方法的最大问题。
public void GetData(string latSW, string lngSW, string latNE, string lngNE)
{
DataTable dt = this.GetData(latSW, lngSW, latNE, lngNE);
rptMarkers.DataSource = dt;
rptMarkers.DataBind();
RepDetails.DataSource = dt;
RepDetails.DataBind();
}
我不确定,从你的问题来看,你是否可以做一个完整的回帖,所以这是一个有趣的JavaScript解决方案
function myawesomejavascriptfunction(latsw,lngsw,latne,lngne)
{
var myawesomeform=document.createElement('form');
myawesomeform.setAttribute('method','post");
myawesomeform.setAttribute('action','/myawesomewebendpoint');
var myawesomelatsw=document.createElement('input');
myawesomelatsw.setAttribute('type','hidden');
myawesomelatsw.setAttribute('name','latsw');
myawesomelatsw.setAttribute('value',latsw);
var myawesomelngsw=document.createElement('input');
myawesomelngsw.setAttribute('type','hidden');
myawesomelngsw.setAttribute('name','lngsw');
myawesomelngsw.setAttribute('value',lngsw);
var myawesomelatne=document.createElement('input');
myawesomelatne.setAttribute('type','hidden');
myawesomelatne.setAttribute('name','latne');
myawesomelatne.setAttribute('value',latne);
var myawesomelngne=document.createElement('input');
myawesomelngne.setAttribute('type','hidden');
myawesomelngne.setAttribute('name','lngne');
myawesomelngne.setAttribute('value',lngne);
document.getElementsByTagName('body')[0].appendChild(myawesomeform);
myawesomeform.submit();
}
/myawesomewebendpoint
的终结点方法将使用 GetData()
方法调用类并传递参数。
它会起作用,只要我没有抓住棍子的完全错误的一端。