作者kojilin (音乐让我忘记你..NNI
看板C_Sharp
标题Re: 求助PlaceHoder的用法?
时间Thu Nov 4 19:39:39 2004
※ 引述《kojilin (音乐让我忘记你..NNI》之铭言:
: ※ 引述《tomex (tomex_ou)》之铭言:
: : 我在乎的目标在於如「动态」产生100按钮,
: : 那麽我如何设定这些button event,又如何区分是按那一个钮?!
: : 的确是要先定义好Event...藉由参数来判知。
: 小弟的做法
: 自己设定每个button的id
: Button b1 = new Button();
: b1.ID="b1";
: 反正你动态产生,那麽名字也给他动态产生
: 只要到时事件处理时也用同个button就可以了
试用一个暴力范例吧
void Page_Load(..){
if(Session["b1"] != null)
{
//按下按钮以後才找的到按钮,不然会发生按钮不存在而找不到事件
PlaceHolder1.Controls.Add((Button)Session["b1"]);
((Button)Session["b1"]).click += new EventHandler(...);
}
}
//按下AddButton後在PlaceHolder里新增一个按钮
void AddButton_Click(...){
Button b1 = new Button();
b1.Text = "name";
//给每个按钮自己的名字,不然下次新增另一个按钮会同名出错
b1.ID = "b1";
Session.Add("b1", b1);
//为了立即显示效果
PlaceHolder1.Controls.Add(b1);
}
你是要类似这样?上面这样还瞒暴力的
毕竟Session塞这种东西塞多了...
可以直接用ID判断,
但是得注意还要多处理一下,不然会把PlaceHolder内的Controls
中的同名Button当作不同东西~
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.138.150.48
※ 编辑: kojilin 来自: 140.138.150.48 (11/04 19:49)