检查数据库更改以使用更新面板
本文关键字:更新 数据库 检查 | 更新日期: 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();
}
似乎需要一个PageMethod
或function
或jquery
(但我以前从未写过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
属性以打开或关闭计时器。