2017-05-04 71 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