我有一个 javascript 函数,可以检查 lat long 并在页面加载时运行。它使用 lat long 调用页面方法。在 page 方法中,我使用 RegisterClientScriptBlock 设置了一堆变量,并返回一个 javascript 字符串以显示使用这些变量的地图。地图加载,但我得到一个错误,它期望的变量是未定义的。
<script type="text/javascript">
function check() {
if (navigator.geolocation) {
var panelProg = $get('progress');
panelProg.style.display = '';
var panelProg = $get('map');
panelProg.style.display = 'none';
navigator.geolocation.getCurrentPosition(function (position) {
// Access them accordingly
PageMethods.SetSession(position.coords.latitude, position.coords.longitude, callBack);
});
}
}
function callBack(result) {
eval(result);
}
</script>
[WebMethod]
public static string SetSession(string latval, string longval)
{
//does work, calls RegisterClientScriptBlock to set a bunch of array variables
//var lats = new Array(); var longs = new Array(); etc...
return "displaymap(" + latval + "," + longval + ");";
}