aspnet页面中动态增加的控件、添加事件

aspnet页面中动态增加的控件、添加事件

ID:9801693

大小:80.50 KB

页数:13页

时间:2018-05-10

aspnet页面中动态增加的控件、添加事件_第1页
aspnet页面中动态增加的控件、添加事件_第2页
aspnet页面中动态增加的控件、添加事件_第3页
aspnet页面中动态增加的控件、添加事件_第4页
aspnet页面中动态增加的控件、添加事件_第5页
资源描述:

《aspnet页面中动态增加的控件、添加事件》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、ASP.NET页面中动态增加的控件、添加事件/--------------------------利用计数器实现动态button的累加---------------------------------/在ASP.NET中动态创建一个控件总是不那么顺利,特别是当对页面的LifeCycle不是那么了然的情况下!这里简单描述一下要求,然后提供一个解决方案,大家看看有没有更好的Idea,如果有的话就是我的大幸了,呵呵!要求:页面上有一个Add按钮,每点击一次该按钮,页面上动态创建一个WebPartZone!

2、提醒:WebPartZone只能在OnInit或之前才能创建,否则报异常!大家都知道,按钮的点击事件是在RaisePostbackEvent时触发的,这意味着点击事件在OnLoad阶段之后才执行,远远落后于OnInit阶段,而且ViewState在OnLoad时才准备好,OnInit以及之前的阶段根本就不能使用ViewState!如果试图在按钮点击事件里面创建WebPartZone等控件,唯一的后果就是页面出错;而如果在OnInit里面创建控件,由于ViewState没有准备好,那么有些数据比如当前

3、需要创建的个数(存在ViewState里面)就无法获得!目前对这个问题我还没有找到什么好的解决方案,经过实验,勉强得出一个不怎么优雅的方案,就是利用HiddenField保存数据,然后直接使用Request.Form["XXX"]在OnInit阶段取得数据;而判断是否点击按钮也是通过Request.Form是否存在对应数据来判断的!废话不多说了,大家看看代码吧!privatevoidPage_Load(objectsender,System.EventArgse){ButtonButton1=new

4、Button();Button1.CommandArgument="b1";Button1.Text="Btn1";Button1.Command+=newCommandEventHandler(this.OnButton);PlaceHolder1.Controls.Add(Button1);ButtonButton2=newButton();Button2.CommandArgument="b2";Button2.Text="Btn2";Button2.Command+=newCommandEv

5、entHandler(this.OnButton);PlaceHolder1.Controls.Add(Button2);Controlc3=ParseControl("");//将字符串转换成web控件Controlc4=ParseControl("

6、ndname='Btn'commandargument='b4'runat='server'/>");PlaceHolder1.Controls.Add(c3);PlaceHolder1.Controls.Add(c4);ButtonmyBut=(Button)Page.FindControl("Button3");myBut.Command+=newCommandEventHandler(this.OnButton);ButtonmyBut2=(Button)Page.FindControl("B

7、utton4");myBut2.Command+=newCommandEventHandler(this.OnButton);}publicvoidOnButton(ObjectSender,CommandEventArgse){switch(e.CommandArgument.ToString().ToLower()){case"b1":Label1.Text="Button1";break;case"b2":Label1.Text="Button2";break;case"b3":Label1.

8、Text="Button3";break;case"b4":Label1.Text="Button4";break;};}privatevoidPage_Load(objectsender,System.EventArgse){ButtonButton1=newButton();Button1.CommandArgument="b1";Button1.Text="Btn1";Button1.Command+=newCommandEventHandler(this.On

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。