【问题标题】:UpdatePanel working only in debug modeUpdatePanel 仅在调试模式下工作
【发布时间】:2016-08-05 10:22:18
【问题描述】:

更新面板控件在正常模式下不工作,即当我在调试模式下浏览它而不进行调试时,它工作得非常好。

我的代码如下-

<asp:ScriptManager ID="ScriptManager1" runat="server" />
<asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Conditional" runat="server"> 
<ContentTemplate>
<asp:Timer runat="server" id="Timer1" Interval="5000"></asp:Timer>

<%--  web content here --%>

</ContentTemplate>
</asp:UpdatePanel>

请建议在没有调试的情况下在正常模式下工作。 提前致谢。

【问题讨论】:

    标签: c# asp.net ajax updatepanel scriptmanager


    【解决方案1】:
    `<head runat="server">
     <title></title>
     <meta http-equiv="refresh" content="10" />
     </head>
    
     <body>
     <form id="form1" runat="server">
     <asp:ScriptManager ID="ScriptManager1" runat="server" />
     <asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Conditional" runat="server">
     <ContentTemplate>
     <%--  web content here --%>
     </ContentTemplate>
     </asp:UpdatePanel> 
     </form>
     </body>
     </html>
    
     in .cs page i used
     protected void Page_Load(object sender, EventArgs e)
     {
       UpdatePanel1.Update();
     }`
    

    我在设计页面的标签下使用了简单的元标签,刷新页面效果很好

    【讨论】:

    • 我不愿意刷新整个页面。我的要求是每 10 秒从数据库中获取更改的属性而不刷新它。
    【解决方案2】:

    META标签会在调用Page_Load方法之前刷新整个页面。

    我还注意到,在 .NET4.5 之后,更新面板也不再为我工作了。也许它是框架中的一个错误,或者可能有什么东西阻止了它。当您在项目中使用引导程序时,情况会更糟。由于 UpdatePanel 是脚本驱动的,一些隐藏的引导脚本可能会干扰它。

    所以,如果不是太麻烦,您可以使用 jQuery 连接所有事件,并且在需要进行服务器调用的地方,您可以使用 ajax 调用项目托管的 Web 服务。这样,您的页面根本不会加载,除非您愿意。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-10-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多