Je rencontre un problème sérieux avec mon application ASP.NET AJAX.Problème avec ScriptManager et ASP.NET AJAX Timer
Il y a une fonction javascript dans mon application qui doit être exécutée après l'événement Timer_Tick. Voici le code derrière:
void SetValues()
{
try
{
StringBuilder sbScript = new StringBuilder();
sbScript.Append("<script language='javascript' type='text/javascript'>");
sbScript.Append("function UpdateValue() {");
for (int j = 0; j < iTotalDevices; j++)
{
sbScript.Append("setElementValue(" + j.ToString() + "," + DevicesInfo[j].X.ToString() + "," + DevicesInfo[j].Y.ToString() + "," + iStatus.ToString() + "," + DevicesInfo[j].DeviceID.ToString() + ");");
}
sbScript.Append("}");
sbScript.Append("</script>");
ScriptManager.RegisterStartupScript(this, this.GetType(), "myscript", sbScript.ToString(), false);
}
catch
{ }
}
protected void Timer1_Tick(object sender, EventArgs e)
{
///This function will get latest values from database
GetNewData();
SetValues();
}
Quand j'appelle la fonction javascript « UpdateValue » pour la première fois (à l'événement page onload), il fonctionne correctement. Mais après l'événement Timer_Tick, il ne fait rien. Ceci est le code HTML:
<script type="text/javascript" language="javascript">
function PageLoad() {
///Call function for the first time and it works
UpdateValue();
}
function setElementValue(index, value1, value2, value3...) {
///Set value for each element in object array
}
</script>
<body onload="PageLoad()">
<asp:ScriptManager ID="ScriptManager1" runat="server" />
<asp:Timer ID="Timer1" runat="server" OnTick="Timer1_Tick" Interval="30000">
</body>
Quel est le problème avec le ScriptManager ou l'événement Timer_Tick?
Un grand merci,
Le contrôle Timer1 déclenche également un UpdatePanel comme prévu, à l'exception de cette fonction java. –