我的母版页中的代码每5秒在内容页面上引起一次完全page_load的加载。可悲的是,这意味着它正在破坏我的某些内容页面以及它们的编程方式。我希望单独的UpdatePanel将只允许更新该区域,而不刷新内容页面上的其他UpdatePanel和资源。
我试图将计时器移出UpdatePanel,将UpdatePanel更改为UpdateMode =“ Conditional”,甚至使用第三方AjaxPanel(Telerik)。
所有结果相同,内容页面每5秒钟重新加载一次,清除标题模板(如下所示),有时会破坏网站上的某些功能。
直到我能找到一种方法,仅进行字面量更新而无需重新加载其他资源,我必须使Timer保持禁用状态。
如果需要,我很乐意发布更多代码,但我不想提供可能没有任何重要性的信息。
MasterPage-Site.Master
<title><%: Page.Title %> - My ASP.Net Site</title>
<asp:UpdatePanel ID="UpdatePanelMenu" runat="server">
<ContentTemplate>
<span>Tickets<asp:Literal ID="LiteralUnassignedTickets" runat="server"></asp:Literal></span>
<asp:Timer ID="TimerAutoRefreshMenu" runat="server" Interval="5000" Enabled="true"></asp:Timer>
</ContentTemplate>
</asp:UpdatePanel>
答案 0 :(得分:0)
如果必须使用更新面板,则使更新面板的更新成为条件更新,并将计时器设置为异步触发器(非常重要)。
当更新面板位于母版页上时,甚至当它们位于内容页面上时,更糟糕的是
对于最小的更改,更好的选择是将setTimeout设置为执行ajax调用以更新未分配票证数量的函数。您可以将其扩展为使用json对象更新一堆字段/元素。另外,如果您转向MVC,则这些技术可能非常有用。