2012-08-30 35 views
1

我有加載和運行的jQuery一旦頁面已經準備好,像這樣的網頁:如何在運行頁面加載的jquery腳本之後運行C#代碼?

$(document).ready(function() { 
     navigator.geolocation.getCurrentPosition(showPosition, positionError); 

     function showPosition(position) { 
      var latitude = position.coords.latitude; 
      var longitude = position.coords.longitude; 
      document.getElementById('div_latitude').innerHTML = latitude; 
      document.getElementById('div_longitude').innerHTML = longitude; 
     } 

     function positionError(position) { 
      alert("Error: " + position.code); 
     } 
    }); 

後,我分配了div_latitude和div_longitude他們的價值觀,我想運行,它會自動使用該信息的代碼。我如何確保第二段代碼在jquery之後運行?

+1

你可以調用一個WebMethod或使來自JavaScript的Ajax調用,但它聽起來像是給需要重新考慮你的設計 – jbabey

+0

有沒有辦法從服務器端獲取地理位置信息? – mellamokb

+0

如果你想運行c#代碼,你需要做一個服務器邏輯的ajax調用 –

回答

4

您將不得不向服務器發出AJAX調用。

+0

那麼,你可以執行如果你真的覺得這是一個完整的頁面回發,那麼AJAX可能是* best *選項,即使不是唯一的選項 – Servy

+0

好的,我會研究一下,有沒有什麼辦法可以給我一個例子將被正確地用於這種情況? –

1

您可能希望檢查jquery中的狀態爲「完成」,並且您可以對要執行的C#代碼進行AJAX調用。

1

您必須進行ajax調用才能與服務器端代碼進行通信,以便在加載jQuery後傳遞所需的值。

代碼如下。 $(文件)。就緒(函數(){ navigator.geolocation.getCurrentPosition(showPosition,positionError);

function showPosition(position) { 
     var latitude = position.coords.latitude; 
     var longitude = position.coords.longitude; 
     document.getElementById('div_latitude').innerHTML = latitude; 
     document.getElementById('div_longitude').innerHTML = longitude; 
    } 

    function positionError(position) { 
     alert("Error: " + position.code); 
    } 
    makeAjaxCall(); 

}); 
    function makeAjaxCall() 
    { 
    $.ajax({ 
      type: "POST", 
      url: "PageName.aspx/MethodName", 
      data: "{}", 
      contentType: "application/json; charset=utf-8", 
      dataType: "json", 
      success: function(msg) { 
      // Ajax Call Successfull. 
      } 
     }); 
    } 
相關問題