Javascript 地理位置在页面加载时将值传递给url.action

Javascript 地理位置在页面加载时将值传递给url.action,javascript,jquery,asp.net-mvc,asp.net-mvc-3,asp.net-mvc-4,Javascript,Jquery,Asp.net Mvc,Asp.net Mvc 3,Asp.net Mvc 4,有人能帮我解决这个问题吗,我正在尝试在页面加载时使用地理位置获取经纬度值,问题是,我在试图找出如何将值传递给mvc局部视图时遇到了问题,我已经很长时间在关注它了,所以希望有一双新的眼睛可以看到我的问题 谢谢 乔治 <script> if (navigator.geolocation) { alert("Geo-Enabled"); navigator.geolocation.getCurrentPosition(showPosition, sh

有人能帮我解决这个问题吗,我正在尝试在页面加载时使用地理位置获取经纬度值,问题是,我在试图找出如何将值传递给mvc局部视图时遇到了问题,我已经很长时间在关注它了,所以希望有一双新的眼睛可以看到我的问题

谢谢

乔治

<script>
    if (navigator.geolocation) {
        alert("Geo-Enabled");
        navigator.geolocation.getCurrentPosition(showPosition, showError);
    }

    function showPosition(position) {
        var lat = position.coords.latitude;
        var lon = position.coords.longitude;
        @*var actionUrl = '@Html.Raw(Url.Action("CurrentConditions","Weather", new {latitude = lat,longitude = lon}))';*@
        alert(lat + ' ' + lon);
            @*url: '@Url.Action("CurrentConditions","Weather", new {latitude = '+ position.coords.latitude +',longitude = ' + position.coords.longitude+'})',*@
        url: '@Html.Raw(Url.Action("CurrentConditions","Weather", new {latitude = lat,longitude = lon}))'; @*<<<<<<Does not work*@
    }
function showError(error)
  {
  switch(error.code) 
    {
    case error.PERMISSION_DENIED:
        alert( "Unable to display accurate weather forcast, location denied.");
      break;
    case error.POSITION_UNAVAILABLE:
        alert( "Location information is unavailable.");
      break;
    case error.TIMEOUT:
        alert( "The request to get user location timed out.");
      break;
    case error.UNKNOWN_ERROR:
        alert( "An unknown error occurred.");
      break;
    }
  }
</script>

生成操作URL时不执行JavaScript

你可以试试这个

var url = '@Url.Action("CurrentConditions","Weather")';
url = url + "?latitude=" + position.coords.latitude + '&longitude=' + position.coords.longitude;


生成操作URL时不执行JavaScript

你可以试试这个

var url = '@Url.Action("CurrentConditions","Weather")';
url = url + "?latitude=" + position.coords.latitude + '&longitude=' + position.coords.longitude;


@乔治·菲利普森,太好了:),如果可能的话,试试我的解决方案。您始终可以将数据作为ajax负载传递。请把你的问题贴上合适的标签,以便更直观。嗨,萨帕尔,谢谢你,一块巧克力能做什么真是太神奇了:-)@George Phillipson,太好了:),如果可能的话,试试我的解决方案。您始终可以将数据作为ajax负载传递。另外,请为您的问题贴上合适的标签,以提高可视性。嗨,萨帕尔,谢谢你,一块巧克力能做什么真是太神奇了:-)
var url = '@Url.Action("CurrentConditions","Weather", new {latitude = -1,longitude = -2})';
url = url .replace("-1", position.coords.latitude);
url = url .replace("-2", position.coords.longitude);