2017-05-04 70 views
0

我正在研究C#asp.net web窗体项目。它有一个母版页。我有一个用户控件,它从数据库中读取数据,在html字符串中创建一个无序列表并用它填充占位符。这个用户控件必须每2分钟自动刷新一次。我已经将这个用户控件包含在母版页上。我有以下代码来刷新用户控件。问题是整个母版页刷新。我认为使用iFrame反过来保持用户控制可能只刷新iFrame。我不知道如何在用户控件上使用iFrame。是否有任何示例代码使用用户控制的iFrame还是有更好的解决方案吗?如何在asp.net中使用带有iFrame的用户控件webforms

<script> 
    $(document).ready(function() { 
     setInterval('refreshPage()', 20000); 
    }); 

    function refreshPage() { 
     location.reload(); 
    } 
</script> 

感谢

回答

0

这听起来像一个UpdatePanel工作。然后只有面板内的内容被刷新。

<asp:UpdatePanel ID="UpdatePanel1" runat="server"> 
    <ContentTemplate> 

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

     <asp:Label ID="Label1" runat="server" Text=""></asp:Label> 

    </ContentTemplate> 
</asp:UpdatePanel> 

而且OnTick方法

protected void Timer1_Tick(object sender, EventArgs e) 
{ 
    Label1.Text = DateTime.Now.ToString(); 
} 

对于这个工作,你确实需要在主或子页面的ScriptManager。

<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager> 
+0

好的,谢谢。让我试试这个。 – Massey

+0

嗨VDWWD,我已经集成了这段代码。我甚至添加了 页面仍然闪烁。谢谢 – Massey