[Risolto]
Ho delle pagine con dei grafici che dovrei aggiornare ogni xx, quindi tramite una checkbox l'utente decidere di avviare un refresh automatico della pagina così da vedere i dati aggiornati oppure no:
- inserisco il valore della checkbox in sessione perchè lo userò nelle altre pagine;
- sto usando delle componenti di terze parti, quindi non ho usato chiamate Ajax o Json, anche perchè l'aggiornamento avviene in un lasso di tempo molto lungo (orario!).
HTML:
codice:
<input id="realTime" type="checkbox" value="true" name="realTime">
<span id="realTimeMsg"></span>
JS:
codice:
<script>
var refresh;
$("input#realTime").click(function (event) {
if ($(this).is(":checked")) {
//Messaggio
$("#realTimeMsg").text("(Attivo)").css({ "color": "green", "font-size": "12px" }).show("slow", function () {
refresh = setInterval('location.reload()', "60000");
//Inserisco il valore della checkbox in sessione
SaveToSession("sessioneRealTime", $("#realTime").val());
$("#realTimeMsg").delay(2000).fadeOut("slow");
});
} else {
$("#realTimeMsg").text("(Non attivo)").css({ "color": "red", "font-size": "12px" }).show("slow", function () {
clearTimeout(refresh);
//Inserisco il valore della checkbox in sessione
RaGe.UnitPerf.SaveToSession("sessioneRealTime", $("#realTime").val());
$("#realTimeMsg").delay(2000).fadeOut("slow");
});
}
});
});
$(document).ready(function () {
//Verifico se ho già settato la checkbox del RealTime
RaGe.UnitPerf.AjaxGetJSON("Home/RestoreFromSession?id=sessioneRealTime", null, function (data) {
if (!data) {
//Inserisco checkbo RealTime in sessione
SaveToSession("sessioneRealTime", $("#realTime").val());
} else {
$("input[name=realTime]").attr('checked', "checked");
refresh = setInterval('location.reload()', "@Def.realTimeSecond");
}
});
});
</script>