【问题标题】:Can I put a Timer in Ajax updatePannel in a masterpage?我可以在母版页中的 Ajax updatePanel 中放置一个计时器吗?
【发布时间】:2011-02-25 17:15:19
【问题描述】:

我做了一个非常简单的面板更新,它将查询数据库并通过标签在母版页上显示一条消息。

因此,我在我网站的母版页中放置了一个带有标签和计时器的 updatePannel(显然是带有 scriptManager)。

但是,当我尝试与timer1 对象交互时,我收到一条错误消息:“object not set to an instance of an object”。将架构放置在空白页面(没有母版页)中时,我没有收到此消息。

我必须在母版页中运行查询,因为用户需要接收我网站中的任何信息。

如何正确放置组件来完成这项工作?我做错了什么?

谢谢!

【问题讨论】:

  • 您的计时器是在更新面板内还是设置为触发器?
  • 在更新面板内。

标签: asp.net ajax ajaxcontroltoolkit


【解决方案1】:

我只是在母版页中尝试过,没有问题。以下是相关代码:

<asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server" />
<asp:UpdatePanel ID="updMessage" runat="server">
<ContentTemplate>
    <asp:Label ID="lblMessage" runat="server" />
    <asp:Timer ID="tmrMessage" Interval="5000" ontick="tmrMessage_Tick" runat="server" />
</ContentTemplate>
</asp:UpdatePanel>

从母版页代码隐藏:

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        Session["Message"] = 1;
    }
}

protected void tmrMessage_Tick(object sender, EventArgs e)
{
    int message = (int)Session["Message"];
    lblMessage.Text = message.ToString();
    Session["Message"] = ++message;
}

【讨论】:

  • 很抱歉,但不与我合作。我正在尝试发现对象在 asp 上的正确放置,我要发布的任何新闻......
  • 好的 - 如果您有任何问题,请告诉我。
【解决方案2】:

问题在于我将面板、标签和计时器放在哪里。我放入了出现问题的 contentPlaceHolder。现在我把控件放在form标签里,问题就解决了。

【讨论】:

    猜你喜欢
    • 2013-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多