在页,我的UpdatePanel与定时器工作正常:无法获取计时器事件处理工作
<asp:Content ID="content" ContentPlaceHolderID="contentholder" runat="server">
<asp:ScriptManager runat="server" EnablePartialRendering="true" ID="ScriptManager"></asp:ScriptManager>
<asp:Timer ID="Timer" runat="server" Interval="10000" ></asp:Timer>
<asp:UpdatePanel ID="MainUpdatePanel" runat="server">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="Timer" EventName="Tick" />
</Triggers>
<ContentTemplate>
<!-- some content, including repeaters... -->
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>
我不能在代码中获取事件处理程序的背后,虽然工作。
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
Timer.Tick += Timer_Tick;
}
}
private void Timer_Tick(object sender, EventArgs e)
{
_someFlag = true;
}
调试是Timer.Tick +=
发生就好期间,我所看到的,但_someFlag
永远不会改变它的价值和_someFlag = true;
尽管本身正确更新页面从未发生过。我错过了什么?
可能是因为您没有为'Timer_Tick'函数添加'new EventHandler' – Bojje
是'Timer' starte d在哪里? –
可能这个链接将帮助你完全https://stackoverflow.com/questions/12073703/call-tick-event-when-timer-starts –