c# - 如何在 Postback 上获取我的隐藏字段值

标签 c# javascript asp.net

这是我的java脚本

 $('#geoLocation').click(function () {
        alert("I am Here");
        if (navigator.geolocation) {
            // Get Latitude and Longitude
            navigator.geolocation.getCurrentPosition(showPosition);

        }
        else {
            // Hide Locator Panel, if Browser not supported
            document.getElementById('panel1').style.display = 'none';
        }
    });

    function showPosition(position) {
        //  x.innerHTML = "Latitude: " + position.coords.latitude +
        // "<br>Longitude: " + position.coords.longitude;
          document.getElementById('latitude').innerHTML = position.coords.latitude;
          document.getElementById('longitude').innerHTML = position.coords.longitude;


    }

我需要在 CodeBehind 的回传中获取纬度和经度值(隐藏在屏幕上)。我该怎么做呢?

最佳答案

您可以使用 $('#HiddenFieldId').val() 在客户端将数据分配给 HiddenField

<div id="geoLocation">Click me to retrieve Geo Location</div>
<asp:HiddenField runat="server" ID="LatitudeHiddenField" />
<asp:HiddenField runat="server" ID="LongitudeHiddenField" />

<script type="text/javascript" 
  src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript">
    $('#geoLocation').click(function () {
        if (navigator.geolocation) {
            // Get Latitude and Longitude
            navigator.geolocation.getCurrentPosition(showPosition, geoLocationErrors);
        } else {
            // Hide Locator Panel, if Browser not supported
            document.getElementById('panel1').style.display = 'none';
        }

        function showPosition(position) {
            $('#<%= LatitudeHiddenField.ClientID %>').val(position.coords.latitude);
            $('#<%= LongitudeHiddenField.ClientID %>').val(position.coords.longitude);    
        }    

        function geoLocationErrors() {
            alert("Your browser doesn't support Geo Location.");
        }
    });

</script>

然后您可以在服务器端从 HiddenField 检索这些值 -

var latitute = LatitudeHiddenField.Value;
var longitude = LongitudeHiddenField.Value;

关于c# - 如何在 Postback 上获取我的隐藏字段值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20693693/

相关文章:

c# - 如何知道点击了什么Linklabel?

javascript - 如何从函数创建 Observable?

javascript - 两个变量之间的区别,第一个变量被分配了一个未定义的值,第二个变量仅声明为未初始化的 var

javascript - 将函数从粗体更改为下划线

c# - Caliburn.Micro 屏幕通过导体过渡

c# - 为什么 C# Ado.net 比 Entity Framework 6.1.3 慢?

asp.net - IIS Express with VS2010 SP1 不断重建网站

asp.net - WebForms 中的 Page.GetRouteURL 输出 "length"查询字符串参数

javascript - 使用 SignalR 获取角色中的用户列表

c# - 用于选择一项的 Linq 代码