gpt4 book ai didi

c# - 如何检查表格何时插入新行,然后使用 UpdatePane 自动更新 Repeater

转载 作者:行者123 更新时间:2023-11-30 17:51:48 24 4
gpt4 key购买 nike

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

我使用 UpdatePanel 自动更新数据库中插入的新评论。

 <asp:ScriptManager ID="ScriptManager1" runat="server"/>

<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>
</div>

UpdatePanel1_Load():

public void UpdatePanel1_Load(Object sender, EventArgs e)
{
int idtopic = Convert.ToInt32(Request.QueryString["idtopic"]);
BindRepeaterComment(idtopic);
}

我推荐使用更新面板和定时器控件来自动更新更新面板。

<asp:Timer ID="AutoRefreshTimer" runat="server"
Interval="10000"
ontick="AutoRefreshTimer_Tick"/>

但我只希望它仅在将新行插入数据库时​​刷新。

向数据库插入新行的功能在另一个aspx页面中,与显示评论页面不在同一页面中。

我还推荐使用 srcipt 来更新 UpdatePanel:

<script type="text/javascript">

var UpdatePanel1 = '<%=UpdatePanel1.ClientID%>';

function ShowItems()
{
if (UpdatePanel1 != null)
{
__doPostBack(UpdatePanel1, '');
}
}

</script>

但我不知道如何调用 ShowItem() 函数。

有人问我,尝试在数据库中添加新行后添加行:UpdatePanel1.Update(),但是“添加新行”功能在另一个页面中,所以我做不到。

如何在没有按钮的情况下实现数据库更改并自动更新新评论(仅在数据库有更改时更新)。

帮助?我已经尝试了很多天的解决方案,因为我是 ASP.net 的新手,所以这对我来说太难了。

最佳答案

您可以使用 HTML5 服务器发送的事件来捕获任何更改。有关详细信息,请查看以下链接。

http://www.w3schools.com/html/html5_serversentevents.asp

您也可以在这里查看http://forums.asp.net/t/1885055.aspx

要从 sql 数据库服务器获取通知,您可以在 ASP.NET 应用程序中使用 SQL 依赖项。

如果您在这种情况下不使用 SQL 服务器,您可以从服务器调用数据库并将事件发送回客户端。

关于c# - 如何检查表格何时插入新行,然后使用 UpdatePane 自动更新 Repeater,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19023048/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com