可以获取到最新的数据,并绑定了Repeater 却无法在页面上刷新      要按F5才可以看到及时的数据 下面是我写的代码
  在线等!!!!!!!!!!  急前台: <asp:Timer ID="Timer1" runat="server" ontick="Timer1_Tick"></asp:Timer>
                <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Always">
                <ContentTemplate>                                              
                    <asp:Repeater ID="rptList" runat="server" OnItemDataBound="rptList_ItemDataBound" OnItemCommand="rptList_ItemCommand" >
                    <ItemTemplate>
                        <tr>
                            <td style="text-align:center;"><asp:CheckBox ID="cbChoose" runat="server" /><asp:HiddenField ID="hfKeyID" runat="server" Value='<%#DataBinder.Eval(Container.DataItem,"RecordID") %>' /></td>
                            <td><%# DataBinder.Eval(Container.DataItem, "TaskDesc")%></td>
                            <td><%# DataBinder.Eval(Container.DataItem, "UploadDate")%></td>
                            <td><%# DataBinder.Eval(Container.DataItem, "UploadUserID")%></td>
                            <td><asp:Literal ID="ltlCLZT" runat="server"></asp:Literal></td>
                            <td>                                
                            <div style="width:100%; background-color:#C5C4C2; z-index:1;">
                                <div style='width:<%# DataBinder.Eval(Container.DataItem, "OverCount")%>%; background-color:#12B92D; z-index:1; float:left; display:inline' ></div>
                            </div>
                            </td>                            
                            <td style="text-align:center;"><asp:ImageButton ID="ibtnLook" runat="server" CommandName="Look" ImageAlign="AbsMiddle" ImageUrl="~/App_Themes/Default/Images/btnLook.gif"/></td>
                        </tr>   
                    </ItemTemplate>
                    <AlternatingItemTemplate>
                        <tr class="style1">
                            <td style="text-align:center;"><asp:CheckBox ID="cbChoose" runat="server" /><asp:HiddenField ID="hfKeyID" runat="server" Value='<%#DataBinder.Eval(Container.DataItem,"RecordID") %>' /></td>
                            <td><%# DataBinder.Eval(Container.DataItem, "TaskDesc")%></td>
                            <td><%# DataBinder.Eval(Container.DataItem, "UploadDate")%></td>
                            <td><%# DataBinder.Eval(Container.DataItem, "UploadUserID")%></td>
                            <td><asp:Literal ID="ltlCLZT" runat="server"></asp:Literal></td>
                            <td>
                                <div style="width:100%; background-color:#C5C4C2; z-index:1;">
                                    <div style='width:<%# DataBinder.Eval(Container.DataItem, "OverCount")%>%; background-color:#12B92D; z-index:1; float:left; display:inline' ></div>
                                </div>
                            </td>                            
                            <td style="text-align:center;"><asp:ImageButton ID="ibtnLook" runat="server" CommandName="Look"  ImageAlign="AbsMiddle" ImageUrl="~/App_Themes/Default/Images/btnLook.gif" /></td>
                        </tr>
                    </AlternatingItemTemplate>
                </asp:Repeater>
                </ContentTemplate>
                <Triggers>
                    <asp:AsyncPostBackTrigger ControlID="Timer1" EventName="Tick" />
                </Triggers>
                </asp:UpdatePanel>
后台:
protected void Timer1_Tick(object sender, EventArgs e)
        {
            this.CallReloadQueryListDataMethod(true);     //绑定数据方法 
        }

解决方案 »

  1.   

    绑定以后Response.Redirect("本页面");
    这样还需要F5不?
      

  2.   

    不知道你的是什么问题。不过有两个地方我从来不用。第一,我的所有UpdateMode都设置为"Conditional"。第二,最为关键的,我从来不用Trigger。这是因为前几年我测试过它确实是有bug(我对.net说有bug的地方凤毛麟角)。我不知道这几年发布的新版本是否修正了它,但是我养成习惯,不使用Triiger。实际上,在你的 Timer1_Tick,写 UpdatePanel1.Update() 就行了。而且你可以选择你想刷新的 UpdatePanel,比如你的页面上假设有5个UpdatePanel,你可以用代码作出判断并灵活地刷新其中2个,完全不用把 Timer 预先声明为这两个UpdatePanel的 Triiger。