.NET----动态添加控件及事件
2009-03-24 21:22
253 查看
protected void Page_Load(object sender, EventArgs e)
{
Button btn = new Button();
btn.ID = "btn_bank_submit";
btn.Text = "网上支付";
btn.Click += new EventHandler(btn_bank_submit_Click);
this.Controls.Add(btn);
}
private void btn_bank_submit_Click(object sender, EventArgs e)
{
string a = "快去付钱!";
ScriptHelp.Alert(a);
}
这里一定要注意不能在Page_Load中用!IsPostBack判断!
由于动态创建的控件不同于其它已初始化好的服务端控件,不会存在ViewState中。所以每次单击按钮后,刚才创建的按钮会消失,然后从ViewState中读取其他非动态创建的控件值重新创建页面。
若在Page_Load中用!IsPostBack判断,则单击按钮后,程序会绕开!IsPostBack判断后括号内的创建按钮过程。因此单击后毫无反应。
若想即在Page_Load中用!IsPostBack判断,又不影响控件的动态创建,最佳的创建时机是在_Init中动态创建控件。这样,每次创建没页面时,限制性Page_Init中的内容,动态创建好控件后,才执行Page_Load中的内容。
{
Button btn = new Button();
btn.ID = "btn_bank_submit";
btn.Text = "网上支付";
btn.Click += new EventHandler(btn_bank_submit_Click);
this.Controls.Add(btn);
}
private void btn_bank_submit_Click(object sender, EventArgs e)
{
string a = "快去付钱!";
ScriptHelp.Alert(a);
}
这里一定要注意不能在Page_Load中用!IsPostBack判断!
由于动态创建的控件不同于其它已初始化好的服务端控件,不会存在ViewState中。所以每次单击按钮后,刚才创建的按钮会消失,然后从ViewState中读取其他非动态创建的控件值重新创建页面。
若在Page_Load中用!IsPostBack判断,则单击按钮后,程序会绕开!IsPostBack判断后括号内的创建按钮过程。因此单击后毫无反应。
若想即在Page_Load中用!IsPostBack判断,又不影响控件的动态创建,最佳的创建时机是在_Init中动态创建控件。这样,每次创建没页面时,限制性Page_Init中的内容,动态创建好控件后,才执行Page_Load中的内容。
相关文章推荐
- .net动态添加控件及对应事件
- ASP.NET 页面中动态增加的控件、添加事件第1/2页
- C#动态生成控件以及添加事件处理
- VC中动态添加控件映射事件
- Android开发学习笔记:为动态添加的EditText控件绑定值改变监听事件
- DateTime比较 动态添加控件事件
- 动态创建控件并给它添加事件处理
- 动态添加控件事件
- 动态添加 button 控件及事件
- 控件的动态添加步骤以及动态事件的添加
- Asp.net 动态创建的控件并添加事件,无响应的解决方法。
- .net WinForm动态添加控件和事件
- C# winform 动态添加控件 以及 事件
- C#给控件动态添加事件
- .NET 获取动态添加的控件的值
- 动态添加控件并添加事件
- JS实现动态给标签控件添加事件的方法示例
- iOS开发学习笔记 -- (二)动态添加控件和事件处理
- Android开发学习笔记:为动态添加的Spinner控件绑定数据源以及监听事件
- jquery无法给动态添加控件绑定事件