Javascript 刷新MuliView';s每5秒查看一次

Javascript 刷新MuliView';s每5秒查看一次,javascript,asp.net,updatepanel,Javascript,Asp.net,Updatepanel,在clientside pageLoad()函数中,我试图获取多视图活动索引,并在5秒钟后回发到我的updatepanel1,前提是活动索引为2 以下代码: <script type="text/javascript" language="JavaScript"> function pageLoad() { if (document.getElementById('MultiViewManage').getAttribute("ActiveViewIndex")

在clientside 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>

函数pageLoad(){
if(document.getElementById('MultiViewManager').getAttribute(“ActiveViewIndex”)==2){
setTimeout(“\uuu doPostBack('UpdatePanel1',”),5000);
}
} 
我得到空验证或某种错误我做错了什么?
感谢

在5秒后自动刷新更新面板。如果用户位于MultiView的
ActiveViewIndex=2
,请在UpdatePanel中使用ASP.Net计时器,该计时器每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>
.....

.....
然后在codebehind的Timer\u Tick事件处理程序中刷新UpdatePanel的内容


我会在外部UpdatePanel旁边的单独UpdatePanel中嵌入所有视图。如果切换视图,则必须触发外部UpdatePanel。但计时器勾号将触发属于ActiveViewIndex 2视图的内部UpdatePanel

您无法访问客户端上的多视图,因为它呈现为简单的div。因此您也无法访问属性(顺便说一句,存储此类属性的可怕位置)以获取ActiveViewIndex。如果可能的话,您应该在服务器端完成这一切。好的,谢谢您的重播,那么我还有一个问题,当函数已经启动时,如何从服务器端注册5秒回发到pageLoad()exist@Python:澄清(在你的问题中)你真正想要实现的目标,因为它还不清楚。如果多视图的ActiveViewIndex为2,您希望在页面发回之前延迟5秒吗?如果这是真的,我觉得很奇怪,有没有一种更方便用户的方法来实现你想要的任何东西?我在updatepanel中有一个多视图,我想每5秒钟刷新一次updatepanel,但只有在特定视图处于活动状态时我才可以使用ajax计时器,但我有一个奇怪的问题,它会回发,有时会卡住很长时间,即使我将计时器放在窗口之外更新面板