線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1161
推到 Plurk!
推到 Facebook!

ASP.NET里的事件顺序

 
pcplayer99
尊榮會員


發表:146
回覆:790
積分:632
註冊:2003-01-21

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-01-27 12:38:58 IP:61.141.xxx.xxx 未訂閱
要显示点了某个控件得到的参数值,不能在Page_Load事件里将这个参数值写到屏幕上。 因为Page_Load事件最先触发,比控件_Click事件更先触发。要获得这个值,需要在控件_Click事件里取得。要显示这个值,需要在控件的 Control.PreRender 事件里去取那个值。(为什么不直接在控件_Click里去显示那个值?因为那是个UserControl控件,Click被封装在了内部。当然也可以公开出来,但这样感觉不太好) IDE的属性/事件窗口里没有控件的Control.PreRender,只能靠自己手动增加事件代码上去。 在C#里应该就是增加一个: protected void YourControl_PreRender(EventArgs e) { 。。。。。。。 } 然后到事件声明那段代码里去绑定它:this.YourControl.PreRender =YourControl_PreRender 在Delphi里也要自己手动加上去: strict private //在这里声明事件 procedure Page_Load(sender: System.Object; e: System.EventArgs); procedure UserControl1_PreRender(Sender:TObject; e: System.EventArgs); //<---这就是自己手动加上去的事件的声明 下面的代码前面两条是IDE自动生成的,最后一条是自己手动加上去的: procedure ProductsView.InitializeComponent; begin Include(Self.Button1.Click, Self.Button1_Click1); Include(Self.Load, Self.Page_Load); Include(Self.UserControl1.PreRender,Self.UserControl1_PreRender); //《----在这里手动加上去,把前面声明的事件过程和对象绑定 end; 然后再加上事件的实现部分: procedure ProductsView.UserControl1_PreRender(Sender:TObject; e: System.EventArgs); begin Label1.Text:=UserControl1.GetCurrentID; end;
系統時間:2024-05-21 15:29:40
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!