国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

Asp.net定時控件

2024-07-10 12:55:42
字體:
來源:轉載
供稿:網友
 

using system;
using system.web.ui;
using system.web.ui.webcontrols;
using system.componentmodel;

[assembly:tagprefix("beyondbit.app.web.ui.webcontrols", "bbit")]
namespace beyondbit.app.web.ui.webcontrols
{

 #region elapsedeventargs  class
 public class elapsedeventargs  : eventargs
 {
  public int signaltime;
 }
 #endregion
 
 /// <summary>
 /// 客戶端定時器
 /// </summary>
 [defaultproperty("enabled"),
  toolboxdata("<{0}:clienttimer runat=server></{0}:clienttimer>")]
 public class clienttimer : system.web.ui.control , system.web.ui.ipostbackeventhandler // , system.web.ui.ipostbackdatahandler
 {
  public delegate void elapsedeventhandler( object sender, elapsedeventargs e );
  public event elapsedeventhandler elapsed;

  protected virtual void onelapsed( elapsedeventargs e)
  {
   if ( elapsed != null )
    elapsed(this, e);
  }

  private int signaltime = 0;

  private int interval = 0 ;
  [description("設置或獲取定時時間(毫秒)")]
  public int interval
  {
   set
   {
    if( value <= 0 )
     throw new argumentexception( "interval時間間隔不能小于或等于0" );
    interval = value ;
   }
   get
   {
    return interval ;
   }
  }

  private bool enabled = false ;
  [description("設置或獲取定時器是否啟用")]
  public bool enabled
  {
   set{ enabled = value ; }
   get{ return enabled ;  }
  }

  //public bool autoreset = false ;

  [description("停止定時器")]
  public void stop()
  {
   enabled = false ;
  }

  protected override void onprerender(eventargs e)
  {
   base.onprerender (e);

   if( this.enabled == false ) return;

   if( interval == 0 ) throw new argumentexception( "定時器已啟動,但interval時間間隔沒有設置" );

   //js
   string jsid = this.uniqueid + "_js";
   string clientfunction = this.uniqueid + "_onelapsed";

   signaltime = signaltime + this.interval ;

   string js = "<script language='javascript'>" +
    "window.settimeout( "+clientfunction+" , "+ this.signaltime +" );" +
    "function " + clientfunction + "(){" +
     page.getpostbackeventreference( this , "" + this.signaltime ) +
    ";}" +
    "</script> ";

   page.registerstartupscript( jsid , js );

  }

  /// <summary>
  /// 將此控件呈現給指定的輸出參數。
  /// </summary>
  /// <param name="output"> 要寫出到的 html 編寫器 </param>
  protected override void render(htmltextwriter output)
  {
   //output.write(text);
  }

  #region ipostbackeventhandler 成員

  public void raisepostbackevent( string eventargument )
  {
   if( eventargument == "" ) throw new exception( "eventargument參數為空!" );
   signaltime = int.parse( eventargument ) ;

   elapsedeventargs e = new elapsedeventargs();
   e.signaltime = signaltime ;

   this.onelapsed( e );
  }

  #endregion

  #region ipostbackdatahandler 成員

//  public void raisepostdatachangedevent()
//  {
//   // todo:  添加 clienttimer.raisepostdatachangedevent 實現
//  }
//
//  public bool loadpostdata(string postdatakey, system.collections.specialized.namevaluecollection postcollection)
//  {
//   // todo:  添加 clienttimer.loadpostdata 實現
//
//   string s = postcollection[ this.uniqueid + "_signaltime" ];
//   if( s == null || s == "" ) return false;
//
//   signaltime = convert.toint32( s );
//
//   return false;
//  }

  #endregion
 }
}


國內最大的酷站演示中心!
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 衡阳市| 平陆县| 滦南县| 蒲江县| 合川市| 西平县| 大冶市| 南漳县| 临沧市| 孙吴县| 汾西县| 南投市| 囊谦县| 贵定县| 康定县| 诸城市| 湖北省| 嘉义市| 阜阳市| 庄浪县| 咸丰县| 米林县| 温州市| 遂平县| 安岳县| 鹤岗市| 青浦区| 静乐县| 德兴市| 青川县| 青铜峡市| 禄丰县| 仁寿县| 麻江县| 雅安市| 武穴市| 华蓥市| 平罗县| 鲁甸县| 开平市| 天峨县|