У меня возникла серьезная проблема с моим приложением ASP.NET AJAX.Проблема с ScriptManager и ASP.NET AJAX Timer
В моем приложении должна быть выполнена функция javascript после события Timer_Tick. Вот код позади:
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();
}
Когда я называю Javascript функция «UpdateValue» впервые (в OnLoad случае страницы), он работает правильно. Но после события Timer_Tick он ничего не делает. Это код 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>
В чем проблема с ScriptManager или событием Timer_Tick?
Большое спасибо,
Контроль Таймер1 также вызывает UpdatePanel, как и ожидалось, для этой функции Java кроме. –