2016-05-07 5 views
-2
string str = "<script type='text/javascript'>" + 
       "var lat=lon=-1;" + 
       "getLocation();" + 
      "function getLocation() {" + 
       "if (navigator.geolocation) {" + 
        "navigator.geolocation.getCurrentPosition(showPosition);" + 
       "}" + 
       "}" + 
      "function showPosition(position) {" + 
       "lat=position.coords.latitude;" + 
       "lon=position.coords.longitude;" + 
       "document.getElementById('<%=ltrLat.ClientID%>').innerHTML=lat;"+ 
       "document.getElementById('<%=ltrLon.ClientID%>').innerHTML= lon;"+ 
       "var x= document.getElementById('<%=ltrLat.ClientID%>').innerHTML;"+ 
       "var y= document.getElementById('<%=ltrLon.ClientID%>').innerHTML;" + 
       "alert('lat='+x+'lon='+ y);" + 
      "}" + 
      "</script>"; 
       ClientScriptManager cs = this.ClientScript; 
       cs.RegisterStartupScript(this.GetType(),"xyz", str); 

ltrLatとltrLonは、クライアント側のaspラベルです。 また、ラベルが表示されません。 アラートが表示されません。以下のコードで何が問題になっていますか?

+0

文字列sが使用されることはありません – Steffomio

+0

注意を理解することを願っています

[WebMethod] public static void UpdateLoc(double latitude, double longitude, long locationId) { double lti = Convert.ToDouble(latitude); double lngi = Convert.ToDouble(longitude); long locationid= Convert.ToInt64(locationId); DACLocation.UpdateLocation(lti, lngi, locationId); } 

: '<%= ... %> 'は、レンダリングプロセスの一部として' .aspx'ファイル内でのみ認識されます。文字列リテラルや '.cs'ファイル内では置換されません。 –

答えて

0

私もこのようなものを試しましたが、.netの文字列はスクリプトを書くことを許さないので、スクリプトを.aspxに埋め込み、スクリプト内で.csでグローバル変数を定義することをお勧めします

<script>  
var x= <%= globalXInCS %> 
</script> 
+0

私がここでやりたいことは、サーバー側からスタートアップスクリプトを登録してスクリプトを実行し、サーバー上のスクリプトの座標を読み取ることです。 – Abhishek

+0

あなたはサーバーまたはクライアントの場所を取得したいですか? –

+0

上記のスクリプトで使用しているgeolocation apiを使用してクライアントデバイスの場所を取得したいとします。私はあなたの方法に従って、.aspxにスクリプトを埋め込み、サーバーからgetLocation関数を呼び出しました。それは働いている。緯度と経度は座標です。しかし、私はサーバー側でこれらの値を読み取ることができません。 – Abhishek

0

としてあなたはアヤックス を使用したい場合は、 .aspxの

ファイル.csファイルでGoogleにAJAXリクエストを処理するWebメソッドを作成する必要が念頭に置いておく.aspxの中に以下のコードを追加します。 .maps.event.addListen ER(マーカー、 'dragendイベント'、機能(EVT){

    var lati = evt.latLng.lat(); 
        var longi = evt.latLng.lng(); 
        var data1 = JSON.stringify({ latitude: lati, longitude: longi, locationId: this.id }); 

        Updatelocations(data1); 
       }); 


function Updatelocations(data1) { 

      $.ajax({ 
       type: "POST", 
       url: window.location.pathname + '/UpdateLoc', 
       data: data1, 
       contentType: "application/json; charset=utf-8", 
       dataType: "json", 
       success: function() { 
        alert("Location Updated..!"); 
       }, 
       error: function (xhr, status, error) { 
        alert(xhr.status); 
        alert(xhr.responseText); 
        alert(data1); 
       } 
      }); 
     } 
</script> 

は.cs私はあなたがよく

関連する問題