每5秒刷新一次MuliView的视图

时间:2011-02-01 15:17:08

标签: javascript asp.net updatepanel

在clientide pageLoad()函数中我试图获取多视图活动索引并在5秒后回发到我的updatepanel1仅当活动索引为2时

以下代码:

<script type="text/javascript" language="JavaScript">
    function pageLoad() {
       if (document.getElementById('MultiViewManage').getAttribute("ActiveViewIndex") == 2) {
          window.setTimeout("__doPostBack('UpdatePanel1','')",5000);
       }
   } 
</script>

我得到null exeption或某种错误我做错了什么? 感谢

1 个答案:

答案 0 :(得分:1)

如果用户在MultiView的ActiveViewIndex=2上,要在5秒后自动刷新更新面板,请在UpdatePanel中使用ASP.Net Timer,每隔5秒触发一次异步回发。我会嵌入应该在单独的UpdatePanel中刷新的视图内容。

<asp:Timer ID="Timer1" OnTick="Timer1_Tick" runat="server" Interval="5000"></asp:Timer>
<asp:UpdatePanel ID="UpdPanelRefresh" UpdateMode="Conditional" runat="server">
            <Triggers>
                <asp:AsyncPostBackTrigger ControlID="Timer1" EventName="Tick" />
            </Triggers>
            <ContentTemplate>
.....

然后在代码隐藏中的Timer_Tick事件处理程序中刷新UpdatePanel的内容。

我会将所有视图嵌入到外部UpdatePanel旁边的单独UpdatePanel中。如果切换视图,则必须触发外部UpdatePanel。但timer-tick将触发属于具有ActiveViewIndex 2的视图的内部UpdatePanel