【问题标题】:How Get HiddenField Value on PageLoad (Code behind)如何在页面加载时获取隐藏字段值(代码隐藏)
【发布时间】: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


【解决方案1】:

看起来您可以调用您的函数或使其成为自执行函数。

getLocation();

【讨论】:

  • 您好,谢谢您的回复,没问题,我用 onload="getLocation();" 在 body 上运行函数我在 Hidden Field 上有值,主要我的问题是我在 pageLoad 上的 HiddenFile 上有 null 值
  • 我认为您不能使用隐藏字段,因为它不执行自动回发。尝试使用 autopostback=true 的常规文本框并将 onchange 事件添加到文本框,然后使用 css 隐藏它。
猜你喜欢
  • 2014-04-10
  • 1970-01-01
  • 1970-01-01
  • 2014-04-01
  • 1970-01-01
  • 2018-05-26
  • 1970-01-01
  • 2023-03-27
  • 1970-01-01
相关资源
最近更新 更多