【问题标题】:Return lat and long values of user's current location to be used in a sql query返回要在 sql 查询中使用的用户当前位置的 lat 和 long 值
【发布时间】:2013-01-02 15:12:09
【问题描述】:

我正在使用 HTML5 地理位置来获取用户当前位置并将其显示在谷歌地图上。但是,我还想返回此位置的 lat 和 long 值,并将这些值传递给 SQL 数据源查询。我想要一个 lat 变量和一个 long 变量通过。为了获得纬度,我只是分配了 var jsVar = position.coords.latitude 但这并没有返回任何东西。我意识到我应该使用隐藏字段来实现将 var 发送到服务器,但我不完全确定当有多个隐藏字段时该怎么做。任何帮助将非常感激。这是我所拥有的:

Javascript

function SetHiddenVariable() {

  var jsVar = position.coords.latitude;
    // Set the value of the hidden variable to 
    // the value of the javascript variable
    var hiddenControl = '<%= inpHide.ClientID %>';
    document.getElementById(hiddenControl).value = "Latitude = " + jsVar;
}

ASP.NET

    <body onload="SetHiddenVariable()">
    <form id="form1" runat="server">
    <div>   
        <input id="inpHide" type="hidden" runat="server" />   
        <asp:TextBox ID="txtJSValue" runat="server"></asp:TextBox>
        <asp:Button ID="btnJSValue" 
           Text="Click to retrieve Javascript Variable" 
           runat="server" onclick="btnJSValue_Click"/>
    </div>
    </form>
</body>

C# 背后的代码

protected void btnJSValue_Click(object sender, EventArgs e)
{
    txtJSValue.Text = inpHide.Value;
}

【问题讨论】:

标签: c# asp.net sql geolocation


【解决方案1】:

您可以在客户端连接数据(使用逗号或其他对您有意义的分隔符,然后在服务器端进行分隔。在这种情况下,您只需要使用一个变量。

【讨论】:

    【解决方案2】:

    这是执行此操作的 html 方式,它应该可以帮助您入门。您只需要连接您的按钮单击事件并将输入转换为服务器端控件。祝你好运!

    <!DOCTYPE html>
    <html>
    <head>
    <script>
    if (navigator.geolocation) {
        navigator.geolocation.getCurrentPosition(success);
    }
    
    function success(position) {
            document.getElementById("lat").value = position.coords.latitude;
            document.getElementById("long").value = position.coords.longitude;
    } 
    </script>
    </head>
    
    <body>
        <form id="form1" runat="server">
        <div>   
            Lat: <input id="lat" type="text" />
            Long: <input id="long" type="text" />
        </div>
        </form>
    </body>
    </html>
    

    【讨论】:

    • 谢谢。你的建议非常合乎逻辑。我的代码看起来不错,但由于某种原因它不起作用。 } function GetLatLong(position) { var userlat = position.coords.latitude; var hiddenControl = ''; document.getElementById("lat").value = userlat; }
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-28
    • 2020-06-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多