ブラウザーの [戻る] ボタンを押した後、ページの読み込み時に選択したドロップダウン リストの値を読み取ることができません。ただし、これは最初の関数呼び出し中にのみ発生します。詳細に説明します: ページが最初に読み込まれるとき、以下に示すように ajax JavaScript を添付しました。
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();
正しく取得されます。なぜこれが起こっているのか、誰にでも光を当てることができますか?