ASP.net里,可以动态生成控件放到页面上 |
|
pcplayer99
尊榮會員 發表:146 回覆:790 積分:632 註冊:2003-01-21 發送簡訊給我 |
ASP.net里,可以动态生成控件放到页面上。 定位问题:
页面上的控件都有一个Controls属性,这个属性都有add方法。一般把控件放到指定的Panel里或PlaceHolder里,这样就可以定位了。直接放到Page里也可以。 例子代码:
本代码里,同时动态生成了WEB服务器端控件和用户控件。
生成用户控件要注意:1-本单元要USES用户控件单元;2-定义MyCon:ProLei.TWebUserControl1;这个类型即是在用户控件单元里的用户控件的类型。 普通控件用该控件的类自己的Create方法(在C#里是NEW方法)
用户控件则要用 MyCOn:=ProLei.TWebUserControl1(Page.LoadControl('ProLei.ascx'));即Page.LoadControl方法来生成。 控件放到页面上,都用Page.Controls.Add(); 或者页面上的定位控件:PlaceHolder3.Controls.Add(MyCOn);
procedure TWebForm1.Button1_Click(sender: System.Object; e: System.EventArgs); var ALabel1,ALabel2,ALabel3:System.Web.UI.WebControls.Label; MyCon:ProLei.TWebUserControl1; begin Button1.Text:='Hello'; ALabel1:=System.Web.UI.WebControls.Label.Create; ALabel2:=System.Web.UI.WebControls.Label.Create; //ALabel3:=System.Web.UI.WebControls.Label.Create; ALabel1.Text:='动态1'; ALabel2.Text:='Hello2'; //ALabel3.Text:='Hello 3'; PlaceHolder1.Controls.Add(ALabel1); PlaceHolder2.Controls.Add(ALabel2); MyCOn:=ProLei.TWebUserControl1(Page.LoadControl('ProLei.ascx')); MyCon.ID:='MyCon'; PlaceHolder3.Controls.Add(MyCOn); //PlaceHolder3.Controls.Add(ALabel3); end; |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |