【问题标题】:Ajax Timer: Execute only 5 timesAjax Timer:只执行5次
【发布时间】:2012-01-09 17:07:57
【问题描述】:

我有一个 ajax Timer 控件。它将“+”添加到标签的文本值中。这个计时器应该只工作五次,间隔为“1000”——即,应该只有五个“+”可用。之后, lblPostbackType 应该更新计数。如何实现?

public partial class _Default : System.Web.UI.Page
{
static int partialPostBackCount = 0;
protected void Page_Load(object sender, EventArgs e)
{
    if (IsPostBack)
    {
        if (ScriptManager.GetCurrent(this).IsInAsyncPostBack)
        {
           partialPostBackCount = partialPostBackCount + 1;
           lblPostbackType.Text = "Partial Postback:: " + partialPostBackCount.ToString();
        }
        else
        {
            lblPostbackType.Text = "Full Postback";
        }
    }

}
protected void Timer1_Tick(object sender, EventArgs e)
{
    Label1.Text = Label1.Text + "+";
}
}

而设计器代码是

<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server" />
<asp:Timer runat="server" ID="Timer1" Interval="1000" OnTick="Timer1_Tick" />

 <asp:Label runat="server" ID="lblPostbackType" >SAMPLE</asp:Label>

<asp:UpdatePanel runat="server" ID="TimePanel" UpdateMode="Conditional">
    <Triggers>
        <asp:AsyncPostBackTrigger ControlID="Timer1" EventName="Tick" />
    </Triggers>
    <ContentTemplate>
        <asp:Label runat="server" ID="Label1" />
    </ContentTemplate>
</asp:UpdatePanel>

</form>

谢谢

【问题讨论】:

  • 你真的想回发到服务器只是为了给标签添加一个+?!学习 javascript! ;)
  • 我只是在学习 Ajax。假设在实际场景中我需要从 Server 获取一个值
  • @Lijo:如果是,请考虑选择答案..

标签: c# asp.net .net ajax vb.net


【解决方案1】:

试试这个

protected void Timer1_Tick(object sender, EventArgs e)
{


    if (partialPostBackCount > 5 )
        {
           lblPostbackType.Text = "Partial Postback:: " + 
                                   partialPostBackCount.ToString();
           //Timer1.Enabled = false; //if you don't want it to continue
        }
        else
        {
            partialPostBackCount = partialPostBackCount + 1;
            Label1.Text = Label1.Text + "+";
        }

}

*不推荐使用静态变量..

保持 Page_Load 事件方法干净..

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-25
    • 1970-01-01
    相关资源
    最近更新 更多