【发布时间】:2018-07-11 20:54:55
【问题描述】:
我使用 Java 脚本在隐藏字段上设置值, 我想在中继器上为数据源使用隐藏字段值 但我有空值,因为我需要首先运行 Java 脚本并在页面加载时获取值。 怎么可能? 我的 Javascript 代码是:
<script type="text/javascript">
function getLocation() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function showPosition(position) {
//x.innerHTML = "Latitude: " + position.coords.latitude +
//"<br>Longitude: " + position.coords.longitude;
//console.log("Latitude: " + position.coords.latitude +
//"<br>Longitude: " + position.coords.longitude);
var lat = position.coords.latitude;
document.getElementById('<%= hdfLat.ClientID %>').value = lat;
var lon = position.coords.longitude;
document.getElementById('<%= hdfLong.ClientID %>').value = lon;
});
} else {
var error = "Geolocation is not supported by this browser.";
alert(error);
}
}
</script>
【问题讨论】:
-
您可以从后面的代码中注入脚本,然后获取值,但如果脚本需要时间来完成,代码可能会失败。相反,将脚本留在页面上,当脚本完成时,使用
Page Methods调用代码隐藏方法。搜索Page Methods的工作原理。
标签: javascript c# asp.net hiddenfield