2012-01-09 1 views
1

私はAjaxタイマーコントロールを持っています。ラベルのテキスト値に "+"を追加します。このタイマーは、「1000」の間隔で5回しか動作しません。つまり、5つの「+」しか使用できません。その後、lblPostbackType をカウントで更新する必要があります。どのように達成するのですか?Ajaxタイマー:わずか5回実行

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> 

おかげ

+0

あなたは実際にラベルに '+'を追加するだけで、サーバにポストバックしたいのですか?学ぶジャバスクリプト! ;) –

+0

私はAjaxを学んでいます。実際のシナリオでは、サーバー – Lijo

+0

@ Lijoから値を取得する必要があるとします。回答があれば選択してください。 – dotNETbeginner

答えて

2

この

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イベントメソッドを保ちますきれい..

関連する問題