1

HTML5地理位置情報を使用して、ユーザーの現在の場所を取得し、これをGoogleマップに表示しています. ただし、この場所の緯度と経度の値を返し、これらの値を SQL データソース クエリに渡したいと考えています。lat 変数と long 変数を通過させたい。緯度を取得するには、単に var jsVar = position.coords.latitude を割り当てていますが、これは何も返しません。varをサーバーに送信するにはhiddenfieldsを使用する必要があることを認識していますが、複数のhiddenfieldがある場合に正確に行う方法が完全にはわかりません。どんな助けでも本当にありがたいです。ここに私が持っているものがあります:

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;
}
4

2 に答える 2

0

これを行うための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>
于 2013-01-02T17:27:42.350 に答える
0

クライアント側でデータを連結することもできます (コンマまたは意味のある他の区切り文字を使用し、サーバー側で分離するだけです。その場合、1 つの変数のみを使用する必要があります。

于 2013-01-02T15:28:23.070 に答える