更新面板、回发和失败的更新
本文关键字:更新 失败 | 更新日期: 2023-09-27 18:19:47
我在这里感觉很像Seinfeldian。UpdatePanels有什么问题?
我已经看了两天的帖子、博客和书了。
我有一个JS定时器,用于测试10秒的轮询。我希望它刷新更新面板。更新面板包含一个文字。更新面板的加载重新填充文字。它不起作用。
javascript:
__doPostBack("<%=litL2Sched.ClientID %>");
这引起了一个完整的回邮,我的页面闪烁着,然后我的眼睛充满了悲伤的泪水。
__doPostBack("<%=btnL2Refresh.ClientID %>");
这几乎没有任何作用。我被告知这会奏效。当我点击按钮时,它按预期工作,但不会随着计时器而停止。
页面标记:
<asp:UpdatePanel ID="line2Sched" runat="server" UpdateMode="Conditional" OnLoad="litL2Sched_ResetTable" >
<ContentTemplate>
<asp:Literal runat="server" ID="litL2Sched" ></asp:Literal>
<asp:Button runat="server" ID="btnL2Refresh" />
</ContentTemplate>
</asp:UpdatePanel>
我已经尝试过使用和不使用触发器,我的脚本管理器允许部分。
我真正想做的就是在我的低更新面板上强制回发。
编辑:区间码
var oUpdatePanels = setInterval(function () { postBacks() }, 10000);
function postBacks(){
__doPostBack("<%=btnL2Refresh.ClientID %>", null);
}
我在那里测试了一些其他的东西,这些东西不会影响这一点。为了澄清,我有5个模块是这样布置的,但我只想让其中一个发挥作用,并在我理解后进行优化。
您需要传递UpdatePanel 的ClientID
window.setInterval(function() {
__doPostBack("<%=line2Sched.ClientID%>", '');
}, 3000);
ASPX:
<asp:UpdatePanel ID="line2Sched" runat="server" UpdateMode="Conditional" OnLoad="litL2Sched_ResetTable" >
<ContentTemplate>
<asp:Literal runat="server" ID="litL2Sched" ></asp:Literal>
<asp:Button runat="server" ID="btnL2Refresh"/>
</ContentTemplate>
</asp:UpdatePanel>
<script type="text/javascript">
function postBacks() {
__doPostBack("<%=line2Sched.ClientID %>", null);
}
var oUpdatePanels = setInterval(postBacks, 1000);
</script>
代码背后:
protected void Page_Load(object sender, EventArgs e)
{
}
protected void litL2Sched_ResetTable(object sender, EventArgs e)
{
litL2Sched.Text = DateTime.Now.ToString("MM/dd/yyyy hh:mm:ss tt");
}
编辑
您的javascript需要如下所示:
<script type="text/javascript">
function postBacks() {
__doPostBack("<%=line2Sched.ClientID %>", null);
}
var oUpdatePanels = setInterval(postBacks, 1000);
</script>