“点击按钮新增一条记录”,指的是新增RepeaterFolder中的记录(不会即刻刷新),或新增RepeaterNote中的记录(会即刻刷新)。
...
<asp:ScriptManager ID="ScriptManager1" runat="server" />
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
 <ContentTemplate>
<asp:Repeater ID="RepeaterFolder" runat="server" OnItemCommand="RepeaterFolder_ItemCommand">
                                            <HeaderTemplate>
                                              <table cellspacing="0" cellpadding="0" width="100%">
                                            </HeaderTemplate>
                                         
                                            <ItemTemplate>
                                                <tr>
                                                   <td>                 
                                <asp:LinkButton ID="btnFolderSelect" CommandName="folderselect" CommandArgument=<%# Eval("id") %> Width="95%" runat="server"><%# app.GetLenString(Convert.ToString(DataBinder.Eval(Container.DataItem, "FolderName")), 10) %></asp:LinkButton>
                                                   </td>
                                                </tr>
                                            </ItemTemplate>
                                         
                                            <FooterTemplate>
                                              </table>
                                            </FooterTemplate>
                                          </asp:Repeater>
...
 <asp:Repeater ID="RepeaterNote" runat="server" OnItemCommand="RepeaterNote_ItemCommand">
                                      <HeaderTemplate>
                                         <table cellspacing="0" cellpadding="0" width="100%">
                                           <tr>
                                              <td width="75%" align=center> &nbsp; </td>
                                              <td width="25%" align=center>最后修改时间</td>
                                           </tr>
                                      </HeaderTemplate>
                                     
                                      <ItemTemplate>
                                            <tr>
                                               <td>      
                                                   <asp:Label ID="lblNoteId" runat="server" Text='<%# Eval("id") %>' Visible=false></asp:Label>
                                                   <asp:CheckBox ID="chkID" runat="server" />    &nbsp;          
                        <asp:LinkButton ID="btnNote" CommandName="shownote" CommandArgument=<%# Eval("id") %> Width="90%" runat="server"><%# DataBinder.Eval(Container.DataItem, "Title")%></asp:LinkButton>
                                               </td>
                                               <td>
                                                  <asp:Label ID="lblLastEditDate" Text='<%# Eval("LastEditDate") %>' runat=server></asp:Label>
                                               </td>
                                            </tr>
                                      </ItemTemplate>
                                     
                                      <FooterTemplate>
                                         </table>
                                      </FooterTemplate>
                        </asp:Repeater>  
 </ContentTemplate>
</asp:UpdatePanel>

解决方案 »

  1.   

    另外一个是不是需要执行一下dataBind。
      

  2.   

    重新绑定了吗?在page_load加那个了吗?
      

  3.   

    加啦!部分代码:
     protected void Page_Load(object sender, EventArgs e)
        {
          if (!Page.IsPostBack)
          {
            Folder_bindCount();
            Folder_bind();
            Note_bindCount();
            Note_bind();
          }
        }    void Folder_bind()
        {
          RepeaterFolder.DataSource = Folder_BindData();
          RepeaterFolder.DataBind();
          AspNetPagerFolder.CustomInfoHTML = "共有<font color=red>" + this.AspNetPagerFolder.RecordCount + "</font>条信息&nbsp;&nbsp;&nbsp;当前" + this.AspNetPagerFolder.CurrentPageIndex + "页/共有" + this.AspNetPagerFolder.PageCount + "页";
        }    void Folder_bindCount()
        {
          AspNetPagerFolder.RecordCount = Folder_BindData().Rows.Count;
        }    protected DataTable Folder_BindData()
        {
          OleDbConnection conn1 = new OleDbConnection(Conn.GetConnString("***"));
          System.Data.OleDb.OleDbDataAdapter adpt1 = new System.Data.OleDb.OleDbDataAdapter("select * from [NoteFolder] where [user]='" + app.user() + "' order by FolderName",conn1);
          DataTable q = new DataTable();
          adpt1.Fill(q);
          q.Columns.Add("id1");
          for (int i = 0; i < q.Rows.Count; i++)
          { q.Rows[i]["id1"] = i + 1; }
          q.Select("id1>" + (AspNetPagerFolder.StartRecordIndex-1).ToString() + " and id1<" + (AspNetPagerFolder.StartRecordIndex + AspNetPagerFolder.PageSize).ToString());
          conn1.Close();
          return q;
        }    protected void AspNetPagerFolder_PageChanged(object sender, EventArgs e)
        {
          Folder_bind();
        }    void Note_bind()
        {
          RepeaterNote.DataSource = Note_BindData();
          RepeaterNote.DataBind();
          AspNetPagerNote.CustomInfoHTML = "共有<font color=red>" + this.AspNetPagerNote.RecordCount + "</font>条信息&nbsp;&nbsp;&nbsp;当前" + this.AspNetPagerNote.CurrentPageIndex + "页/共有" + this.AspNetPagerNote.PageCount + "页";
        }    void Note_bindCount()
        {
          AspNetPagerNote.RecordCount = Note_BindData().Rows.Count;
        }    protected DataTable Note_BindData()
        {
          OleDbConnection conn1 = new OleDbConnection(Conn.GetConnString("***"));
          System.Data.OleDb.OleDbDataAdapter adpt1 = new System.Data.OleDb.OleDbDataAdapter();
          DataTable q = new DataTable();
          string strFolder = lblFolderId.Text.Trim();      if (strFolder == "")
          {
            adpt1 = new System.Data.OleDb.OleDbDataAdapter("select * from [Note] where [user]='" + app.user() + "' order by LastEditDate desc", conn1);
            adpt1.Fill(q);
          }
          else
          {
            adpt1 = new System.Data.OleDb.OleDbDataAdapter("select * from [Note] where [user]='" + app.user() + "' and FolderId=" + strFolder + " order by LastEditDate desc", conn1);
            adpt1.Fill(q);
          }
          q.Columns.Add("id1");
          for (int i = 0; i < q.Rows.Count; i++)
          { q.Rows[i]["id1"] = i + 1; }
          q.Select("id1>" + (AspNetPagerNote.StartRecordIndex-1).ToString() + " and id1<" + (AspNetPagerNote.StartRecordIndex + AspNetPagerNote.PageSize).ToString());
          conn1.Close();
          return q;
        }
     protected void btnAddFolder3_Click(object sender, EventArgs e)
        {
          OleDbConnection conn1 = new OleDbConnection(Conn.GetConnString("***"));
          conn1.Open();
          OleDbDataAdapter adpt1 = new System.Data.OleDb.OleDbDataAdapter("select id from NoteFolder where FolderName='" + txtFoldName.Text.Trim() +
              "' and [user]='" + app.user() + "'", conn1);
          OleDbCommand com = new System.Data.OleDb.OleDbCommand();
          DataTable q = new DataTable();
          adpt1.Fill(q);      if (q == null || q.Rows.Count==0)
          {
            com = new OleDbCommand("insert into [NoteFolder] ([user],FolderName) values ('" + app.user() + "','" +
                    txtFoldName.Text.Trim() + "')", conn1);
            com.ExecuteNonQuery();        lblMenu.Text = "添加文件夹成功!";
            Modal2.Show();
            Folder_bindCount();
            Folder_bind();
            //Note_bindCount();
            //Note_bind();
          }
          else
          {
            lblMenu.Text = "已有此文件夹!";
            Modal2.Show();
            Modal1.Show();
          }
          conn1.Close();
        }
      

  4.   

    应该不会,实在不行重新拖个updatepannel试试
      

  5.   

    需要加这个吗?(环境是VS 2008)
    ...
      </ContentTemplate> 
     <Triggers>
       <asp:AsyncPostBackTrigger ControlID="btnAddFolder3" EventName="Click" />
     </Triggers>
    </asp:UpdatePanel>
      

  6.   

    改为如下代码还是一样。(新增RepeaterFolder中的记录(不会即刻刷新),或新增RepeaterNote中的记录(会即刻刷新)。)
    难道是后台代码错?
    <ajaxToolkit:ToolkitScriptManager ID="ScriptManager1" EnablePartialRendering="true" runat="server" />
    ...
    <asp:UpdatePanel ID="UpdatePanel1" runat="server">
     <ContentTemplate>
                                              <asp:Repeater ID="RepeaterFolder" runat="server" OnItemCommand="RepeaterFolder_ItemCommand">
                                                <HeaderTemplate>
                                                  <table cellspacing="0" cellpadding="0" width="100%">
                                                </HeaderTemplate>
                                             
                                                <ItemTemplate>
                                                    <tr>
                                                       <td>                 
                                    <asp:LinkButton ID="btnFolderSelect" CommandName="folderselect" CommandArgument=<%# Eval("id") %> Width="95%" runat="server"><%# app.GetLenString(Convert.ToString(DataBinder.Eval(Container.DataItem, "FolderName")), 10) %></asp:LinkButton>
                                                       </td>
                                                    </tr>
                                                </ItemTemplate>
                                             
                                                <FooterTemplate>
                                                  </table>
                                                </FooterTemplate>
                                              </asp:Repeater>
                            <webdiyer:AspNetPager ID="AspNetPagerFolder" runat="server" OnPageChanged="AspNetPagerFolder_PageChanged"
                            Width="90%" SubmitButtonText="到" ShowCustomInfoSection="Left" ShowBoxThreshold="3"
                            PageSize="16" AlwaysShow="True" HorizontalAlign="Right" />
     </ContentTemplate>
     <Triggers>
       <asp:AsyncPostBackTrigger ControlID="btnExit2" EventName="Click" />
     </Triggers>
    </asp:UpdatePanel>
    ...
    <asp:UpdatePanel ID="UpdatePanel2" runat="server">
     <ContentTemplate>
                             <asp:Repeater ID="RepeaterNote" runat="server" OnItemCommand="RepeaterNote_ItemCommand">
                                          <HeaderTemplate>
                                             <table cellspacing="0" cellpadding="0" width="100%">
                                               <tr>
                                                  <td width="75%" align=center> &nbsp; </td>
                                                  <td width="25%" align=center>最后修改时间</td>
                                               </tr>
                                          </HeaderTemplate>
                                         
                                          <ItemTemplate>
                                                <tr>
                                                   <td>      
                                                       <asp:Label ID="lblNoteId" runat="server" Text='<%# Eval("id") %>' Visible=false></asp:Label>
                                                       <asp:CheckBox ID="chkID" runat="server" />    &nbsp;          
                            <asp:LinkButton ID="btnNote" CommandName="shownote" CommandArgument=<%# Eval("id") %> Width="90%" runat="server"><%# DataBinder.Eval(Container.DataItem, "Title")%></asp:LinkButton>
                                                   </td>
                                                   <td>
                                                      <asp:Label ID="lblLastEditDate" Text='<%# Eval("LastEditDate") %>' runat=server></asp:Label>
                                                   </td>
                                                </tr>
                                          </ItemTemplate>
                                         
                                          <FooterTemplate>
                                             </table>
                                          </FooterTemplate>
                            </asp:Repeater>     
                            <webdiyer:AspNetPager ID="AspNetPagerNote" runat="server" OnPageChanged="AspNetPagerNote_PageChanged"
                                Width="90%" SubmitButtonText="到" ShowCustomInfoSection="Left" ShowBoxThreshold="3"
                                PageSize="16" AlwaysShow="True" HorizontalAlign="Right" /> 
     </ContentTemplate>
     <Triggers>
       <asp:AsyncPostBackTrigger ControlID="btnExit2" EventName="Click" />
     </Triggers>
    </asp:UpdatePanel>
    ...