想用c#code behind获取GPS坐标吗

想用c#code behind获取GPS坐标吗,c#,javascript,asp.net,geolocation,gps,C#,Javascript,Asp.net,Geolocation,Gps,我的GPS坐标有点问题。我能够使用地理定位在asp.net/javascript中获取坐标,但需要这些坐标对c#codebehind中的方法可用。不幸的是,由于某些原因,检索到的坐标不存在,即使我将它们放入标签中(由于某些原因,它们永远不会在那里结束) 所以,我现在想的是尝试将坐标(只需要纬度和经度)直接输入到c#中,即使我必须通过c#运行一些javascript(不确定您是如何做到的) 有人有什么想法吗?我已经在下面发布了javascript: <button id="btnLocate

我的GPS坐标有点问题。我能够使用地理定位在asp.net/javascript中获取坐标,但需要这些坐标对c#codebehind中的方法可用。不幸的是,由于某些原因,检索到的坐标不存在,即使我将它们放入标签中(由于某些原因,它们永远不会在那里结束)

所以,我现在想的是尝试将坐标(只需要纬度和经度)直接输入到c#中,即使我必须通过c#运行一些javascript(不确定您是如何做到的)

有人有什么想法吗?我已经在下面发布了javascript:

<button id="btnLocate" runat="server" onclick="GetLocation()" style="width: 15%">Loc</button>

        <script type="text/javascript">

            function GetLocation()
            {
                if (navigator.geolocation)
                {
                    navigator.geolocation.getCurrentPosition(ShowPosition, ShowError, { maximumAge: 5000, timeout: 10000 });
                }
                else { alert("Geolocation is not supported by this browser."); }
            }
            function ShowPosition(position)
            {
                var latdata = position.coords.latitude;
                var londata = position.coords.longitude;
                document.getElementById("lblLat").value = latdata;
                document.getElementById("lblLon").value = londata;
            }
            function ShowError(error)
            {
                if (error.code == 1)
                {
                    alert("User denied the request for Geolocation.");
                }
                else if (error.code == 2)
                {
                    alert("Location information is unavailable.");
                }
                else if (error.code == 3)
                {
                    alert("The request to get user location timed out.");
                }
                else
                {
                    alert("An unknown error occurred.");
                }
            }

        </script>
Loc
函数GetLocation()
{
if(导航器.地理位置)
{
navigator.geolocation.getCurrentPosition(ShowPosition,ShowError,{maximumAge:5000,timeout:10000});
}
else{alert(“此浏览器不支持地理位置”。);}
}
功能显示位置(位置)
{
var latdata=位置坐标纬度;
var londata=position.coords.longitude;
document.getElementById(“lblLat”).value=latdata;
document.getElementById(“lblLon”).value=londata;
}
功能错误(错误)
{
if(error.code==1)
{
警报(“用户拒绝了地理定位请求”);
}
else if(error.code==2)
{
警报(“位置信息不可用”);
}
else if(error.code==3)
{
警报(“获取用户位置的请求超时”);
}
其他的
{
警报(“发生未知错误”);
}
}

我猜您想在codebehind方法中使用坐标

为什么不在打开页面时运行,然后在单击按钮时检索fra标签/文本框的数据

<script type="text/javascript" id="getCord">

if(typeof navigator.geolocation === 'undefined')
{
    alert("Geolocation services are not supported by your web browser");
}

else
{
    navigator.geolocation.getCurrentPosition(handleLocation, handleError);
}

function handleLocation(position)
{

    var lat = position.coords.latitude;

    document.getElementById('<%= latTextBox.ClientID %>').value = lat;

    var lon = position.coords.longitude;

    document.getElementById('<%= lonTextBox.ClientID %>').value = lon;

}

function handleError(error)
{
    switch (error.code) 
    {
        case error.TIMEOUT:
            alert('Timeout');
        break;
        case error.POSITION_UNAVAILABLE:
            alert('Position unavailable');
        break;
        case error.PERMISSION_DENIED:
            alert('Permission denied');
        break;
        case error.UNKNOWN_ERROR:
            alert('Unknown error');
        break;
    }
}

if(typeof navigator.geolocation==‘未定义’)
{
警报(“您的web浏览器不支持地理位置服务”);
}
其他的
{
navigator.geolocation.getCurrentPosition(handleLocation,handleError);
}
功能手柄位置(位置)
{
var lat=位置坐标纬度;
document.getElementById(“”).value=lat;
var lon=位置坐标经度;
document.getElementById(“”).value=lon;
}
函数句柄错误(错误)
{
开关(错误代码)
{
大小写错误。超时:
警报(“超时”);
打破
案例错误。位置不可用:
警报(“位置不可用”);
打破
案例错误。权限被拒绝:
警报(“权限被拒绝”);
打破
案例错误。未知错误:
警报(“未知错误”);
打破
}
}


这将在不按下按钮的情况下运行,而lonTextBox上ID为latTextBox的文本框将获得您可以使用的坐标。

您需要使用AJAX,或者将它们放在浏览器将发送回服务器的表单元素中,以前从未尝试过AJAX。正如我所说,我试着将它们放在标签中(好吧,文本框,但我试过标签)。也不是形式元素。我该怎么做?标签不会发回。文本框是,但您需要使用
ClientID
。查看浏览器错误控制台。