检查数据库更改以使用更新面板

本文关键字:更新 数据库 检查 | 更新日期: 2023-09-27 18:32:55

我对 ASP.Net 和AJAX也很陌生。

我正在编写一个论坛。我的showcomment.aspx页面,我使用 Repeater 从 SQL 数据库获取注释,并在每个主题中显示它们。

我使用UpdatePanel自动更新插入到数据库中的新注释。

<div onclick="__doPostBack('UpdatePanel1', '');">
      <asp:UpdatePanel ID="UpdatePanel1" runat="server" OnLoad="UpdatePanel1_Load">
        <ContentTemplate>          
          <asp:Repeater ID="RepeaterComment" runat="server">
            ....
          </asp: Repeater...>
        </ContentTemplate>
     </asp: UpdatePanel>

函数UpdatePanel1_Load():

public void UpdatePanel1_Load(Object sender, EventArgs e)
    {
        BindRepeaterComment();
    }

似乎需要一个PageMethodfunctionjquery(但我以前从未写过jquery)才能意识到何时将新行插入数据库。

如何检查数据库更改,然后应用于更新面板???

更新:

看看下面的绑定中继器通信功能:

private void BindRepeaterComment(int idtopic)
    { 
        string sql = "select * from COMMENT where idTOPIC="+idtopic;
        DataTable comment = l.EXECUTEQUERYSQL(sql);
        RepeaterComment.DataSource = comment;
        RepeaterComment.DataBind();
    }

我还建议使用 Timer 控件每 5 秒重新读取一次 UpdatePanel,但我只想在数据库更改时自动更新(插入新行)

检查数据库更改以使用更新面板

您是否

尝试过手动更新更新面板:

调用此函数:

<script type="text/javascript">
            var UpdatePanel1 = '<%=UpdatePanel1.ClientID%>';
            function ShowItems()
            {
               if (UpdatePanel1 != null) 
               {
                   __doPostBack(UpdatePanel1, '');
               }
            }       
</script>

编辑:

You can user Timer control to refresh page for every 5 minutes

设置

Interval 属性以指定回发的频率,并设置 Enabled 属性以打开或关闭计时器。