更新面板、回发和失败的更新

本文关键字:更新 失败 | 更新日期: 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>