我试图在推送到数据库时通过aspx文件的后端(.cs)上的地理编码来获取经度和纬度。但是,当我尝试在Geocode函数内部进行console.log时,未分配HiddenFields,这给了我未定义的含义。
我尝试了很多解决方案,但是没有任何效果,或者没有任何解决方案,问题就半途而废了。我尝试使用:
1. Request.Form [Latitude.UniqueID] 2.使用SetTimeOut(在地理编码功能上)3.在后端使用hiddenField的.Value / .Value.toString()
不幸的是,这些都不起作用。
地理编码功能
var hiddenlat = $("#<%= hiddenlat.ClientID %>");
var hiddenlng = $("#<%= hiddenlng.ClientID %>");
function getLatLng() {
...
geocoder.geocode({ 'address': "'" + address + "'" }, function (results, status) {
if (status == google.maps.GeocoderStatus.OK) {
console.log("postal code in post.aspx is ", <%= postalcode
%>);
var latitude = results[0].geometry.location.lat();
var longitude = results[0].geometry.location.lng();
hiddenlat.val(latitude);
hiddenlng.val(longitude);
console.log(hiddenlat.val()); // undefined
console.log(hiddenlng.val()); // undefined
var data = { "lat": latitude, "lng": longitude };
} else {
console.log('request fail');
}
});
return true;
}
这是隐藏的领域
<asp:HiddenField ID="hiddenlat" runat="server" />
<asp:HiddenField ID="hiddenlng" runat="server" />
用于发布的按钮
<asp:Button ID="btnSubmit" runat="server" CssClass ="btn btn-
success" Text="List" OnClientClick="getLatLng()"
OnClick="btnSubmit_Click"/>
[更新]当我在地理编码功能中设置Hiddenfield的值时,HiddenFields内部的值是未定义的。我可以知道为什么它没有定义吗?我同时尝试了Console.log的纬度和经度,都向我返回了一个值。
相关分类