2012-12-18 52 views
0

無法讀取頁面加載瀏覽器壓回button.But出現這種情況僅在第一個函數調用後的下拉菜單中選擇值之後,選擇下拉列表中值在頁面加載。 我會詳細解釋: 當頁面加載最初我附上一段AJAX腳本如下圖所示無法讀取按下瀏覽器的後退按鈕

this.Page.ClientScript.RegisterStartupScript(this.GetType(), "onload", "_Initialize_Chart();", true); 

下面是JavaScript AJAX功能

function _Initialize_Chart() { 

    var selectedDeptId = $(ddlQueues).val(); 
    var selectedMonth = $(ddlMonth).val(); 
    var selectedYear = $(ddlYear).val(); 
    $.ajax({ 
     type: "GET", 
     url: ajaxCallHandlerUrl, 
     data: { 
      OpCode: "GetCallAverageMonthlyReportForGraph", 
      Params: "DeptId^" + selectedDeptId + "~Month^" + selectedMonth + "~Year^" + selectedYear 
     }, 
     dataType: "xml", 
     beforeSend: function() { 
      $('#' + lblCallAverageDetails).html(''); 
      document.getElementById(chartdiv).style.backgroundImage = "url('../images/ajax-loader_new_.gif')"; 
     }, 
     success: function (responseString) { 
      document.getElementById(chartdiv).style.backgroundImage = ""; 
      _Load_Chart(responseString); 
      _Load_CallAverageGridData(); 
     }, 
     error: function (xhr, errorType, exception) { 
      var errorMessage = exception || xhr.statusText; 
      alert("There was an error Initializing Charts :: " + errorMessage); 
     } 
    }); 
} 


    function _Load_CallAverageGridData() { 
    var selectedDeptId = $(ddlQueues).val(); 
    var selectedMonth = $(ddlMonth).val(); 
    var selectedYear = $(ddlYear).val(); 
    $.ajax({ 
     type: "GET", 
     url: ajaxCallHandlerUrl, 
     data: { 
      OpCode: "GetCallAverageReportDetail", 
      Params: "DeptId^" + selectedDeptId + "~Month^" + selectedMonth + "~Year^" + selectedYear 
     }, 
     dataType: "", 
     success: function (responseString) { 
      $('#' + lblCallAverageDetails).html(responseString); 
     }, 
     error: function (xhr, errorType, exception) { //Triggered if an error communicating with server 
      var errorMessage = exception || xhr.statusText; //If exception null, then default to xhr.statusText 
      alert("There was an error Fetching Call Average Data :: " + errorMessage); 
     } 
    }); 
} 

所以這個JavaScript加載頁面內容這是一種圖形和一個網格。 在點擊網格中的行,其導航到另一個頁面。 現在在按下瀏覽器的後退按鈕時,上面顯示的javascript最初叫,但var selectedMonth = $(ddlMonth).val();不給我的實際選擇值的值下拉列表。 在第一Ajax調用的成功,另一個Ajax調用_Load_CallAverageGridData();是由我在這家得到正確的var selectedMonth = $(ddlMonth).val();值。 任何一個可以拋出一些輕爲什麼發生這種情況。

回答

0

您在頁面加載

this.Page.ClientScript.RegisterStartupScript(this.GetType(), "onload", "_Initialize_Chart();", true); 

代碼不是在頁面加載執行,它excecute你需要使用URL散列函數。 它只需使用這

,你點擊頁面上的產品/圖像那裏調用的onclick javascript函數即

function getHashOnBack(valueget) 
{ 
    location.hash = "#backTo=" + $(window).scrollTop();$(document).height(); 
} 

現在,把

$(document).ready(function() 
{ 
var ab = window.location.hash.substring(1).split("="); 
if (ab[0] == "backTo") 
{ 
// this would be called automatically when back putton pressed and hav #back=1234 etc. // value in url 

$(window).scrollTop(parseInt(ab[1])); 
} 
}