用Asp.net如何在后台添加多个html控件及事件并点击是哪个控件触发的事件
我生成的是CheckBox控件:
DataTable dt = WebServices.GetIPQCCheckList(BeginTime, EndTime);
if (dt.Rows.Count > 0)
{
for (int i = 0; i < dt.Rows.Count; i++)
{
list.Add(dt.Rows[i]["cCHName"].ToString());
}
for (int j = 0; j < list.Count; j++)
{
CheckBox Check = new CheckBox();
Check.AutoPostBack = true;
Check.Text = list[j].ToString();
Check.ID = "cCHNameID"+j;
Check.CheckedChanged += eventFunction;
DivContent.Controls.Add(Check);
}
}
else
{
this.labError.Text = "没有相关的数据!!!";
this.labError.Visible = true;
}
CheckBox已经生成出来了,但是我不知道如何写事件,就是选中CheckBox时就查询数据,各位大侠帮助我下吧
[解决办法]
以经验来看,你这种编程设计思路很难尽快写出实现你所说的功能的程序。建议你学习普通的asp.net教程,例如把6年前网上的Scott Mitchell的教程全都熟练地做一遍。当你随便整什么“动态增加控件、Html控件、CheckBox控件”这些概念的时候,我觉得告诉你做法你也不理解。
所以两条路:如果你要学习传统的asp.net编程,耐心从教程开始学。如果你想学点底层的,那么放弃asp.net,去精通html/javascript以及http服务器端开发技术,这跟asp.net几乎没有多大关系了。
------解决方案--------------------
告诉你一个知识:asp.net页面生命周期很短,一瞬间就结束了。因此你所谓的“动态增加控件”的东西单纯看是无用的。
假设你在页面上添加一个Button按钮,让它回发页面。按道理来说,点击这个按钮时你的程序什么吊事情都没有做,那么页面上不应该有什么变化(仍然保持原来的状态和界面),对么?可是许多人写的所谓“动态添加控件”的代码,不是丢失一大堆界面元素,就是让状态全乱了。
如果经不起这个测试,那么就根本谈不上什么“动态增加控件”。但是要理解asp.net原理,你需要找一个正规的教程从基础学起。