У меня есть следующий jquery, который регистрирует интервал таймера, появляющийся каждые 10 секунд на веб-странице всякий раз, когда нажимается кнопка ввода btnExport.
if ($) {
$(document).ready(function () {
$("input[id$='btnExport']").click(function ($e) {
// javascript timer function
window.setInterval(ExportProgressCheck, 10000);
});
function ExportProgressCheck() {
$.ajax({
type: "POST",
url: "DMZ_Export.aspx/GetExportProgress",
contentType: "application/json; charset=utf-8",
data: "",
dataType: "json",
success: AjaxSuccess,
error: AjaxFailed
});
}
});
}
Однако при определенных сценариях мне нужно, чтобы интервал таймера начинал отсчитываться, как только загружается сама загрузка страницы. Моя проблема в том, что я не уверен, как это сделать из события загрузки страницы в коде. Теоретически это будет что-то вроде ...
protected void Page_Load(object sender, EventArgs e) {
if (!Page.IsPostBack) {
if (IsExportInProgress()) {
// Register the timer interval now!! How do I do this??
// window.setInterval(ExportProgressCheck, 10000);
}
}
}
}
Я попытался сделать это, зарегистрировав сценарий запуска, но сценарий ему не понравился, потому что он не знает, что такое ExportProgressCheck ...
ClientScriptManager cs = Page.ClientScript;
cs.RegisterStartupScript(cstype, csname1,
"<script type=\"text/javascript\">window.setInterval(ExportProgressCheck, 10000);</script>",
false);
Любая помощь по этому вопросу будет очень признателен! Спасибо!