UpdatePanel中的计时器

时间:2010-08-19 15:36:26

标签: c# asp.net updatepanel timer master-pages

我有一个带有asp:Timer的asp:UpdatePanel。它们位于主/内容页面中。代码如下:

<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
    <ContentTemplate>
        <asp:Timer ID="Timer1" runat="server" Interval="5000" OnTick="Timer1_Tick"></asp:Timer>
    </ContentTemplate>
</asp:UpdatePanel>

但是当计时器触发时,我得到了以下错误:

Microsoft JScript运行时错误:Sys.WebForms.PageRequestManagerParserErrorException:无法解析从服务器收到的消息。此错误的常见原因是通过调用Response.Write(),响应过滤器,HttpModules或服务器跟踪来修改响应。 详细信息:解析附近时出错

这适用于独立的Web表单,但不适用于带有母版页的内容页面。

任何人都可以解释一下吗?

提前感谢您的帮助!!

1 个答案:

答案 0 :(得分:8)

Timer中有UpdatePanel控件的原因是否有特定原因?

每次我需要使用Timer控件进行UpdatePanel刷新时,我都会将其设置为以下内容,并且可以正常使用MasterPages

<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional"> 
    <Triggers>
        <asp:AsyncPostBackTrigger  ControlID="Timer1" EventName="Tick" />
    </Triggers>
    <ContentTemplate> 
        <!-- your content here, no timer -->
    </ContentTemplate> 
</asp:UpdatePanel> 

<asp:Timer ID="Timer1" runat="server" Interval="5000" OnTick="Timer1_Tick">
</asp:Timer> 

使用Trigger使UpdatePanelTick事件中刷新。您只想在可能的情况下将内容嵌入UpdatePanel