【问题标题】:check the database change for using UpdatePanel检查数据库更改以使用 UpdatePanel
【发布时间】:2013-09-26 07:03:42
【问题描述】:

我对 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)来实现何时将新行插入数据库。

如何检查数据库更改然后应用到UpdatePanel???

更新:

看看下面我的 BindRepeaterCommment 函数:

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,但我只想在数据库更改时自动更新(插入新行)

【问题讨论】:

    标签: c# asp.net sql asp.net-ajax


    【解决方案1】:

    您是否尝试过手动更新更新面板:

    调用这个函数:

    <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 属性以打开或关闭计时器。

    【讨论】:

    • 我在我的 aspx 页面上添加了这个脚本。然后我在数据库中打开表格->插入新行(手动)->返回我的网页并等待-->但直到我刷新 F5 后它仍然没有更新。可怜的我,我对 AJAX 很陌生。我想知道我是不是做错了什么???
    • 否..在您尝试从数据库中获取评论后,您需要更新更新面板,或者如果它不起作用,请尝试更新的答案并告诉我。
    • 我仍然不了解“更新更新面板”,我的意思是我真的不知道语法,因为这是我第一次使用 AJAX,看看我上面的更新,我添加了BindRepeater函数,你的意思是我在BindRepeater函数中添加更新面板???
    • 是的..这里和ajax无关..不要惊慌..试试酷。
    • 现在转到 updatepanel1 属性并将其 UpdateMode 设置为 Conditional
    猜你喜欢
    • 1970-01-01
    • 2014-01-30
    • 2010-11-14
    • 1970-01-01
    • 2011-05-17
    • 1970-01-01
    • 1970-01-01
    • 2011-09-28
    • 2014-10-29
    相关资源
    最近更新 更多