- PR -

panelに連続するコントロールのIDを取得する方法

1
投稿者投稿内容
チャチャ
常連さん
会議室デビュー日: 2003/10/13
投稿数: 42
投稿日時: 2003-10-16 14:12
C#.NETでWebアプリを開発しているが、困っている問題がありました。
panelに連続するコントロール(Label,Buttonなど)を追加して、ボタンをクリックした時に
追加されたLabelや、ButtonのIDを取得するのに、うまく行きません

ソースコードは以下である
まず、パネルにボタンやラベルを複数に追加させていく
for(i=0;i<3;i++){
Button btn=new Button();
btn.Text="編集";
btn.ID="btn"+i.ToString();
btn.click+=new System.Envert(btn_click);
........中略
}
それから、編集ボタンをクリックしたら、押されたボタンのIDを取得したいのですが、
btn_click(object sender,System.EnvertArgs e){
Labe11.Text=Panel1.findContorls("btn").ID;}

うまくいきません。
ご指導をお願いします
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2003-10-16 15:13
引用:

チャチャさんの書き込み (2003-10-16 14:12) より:

for(i=0;i<3;i++){
Button btn=new Button();
btn.Text="編集";
btn.ID="btn"+i.ToString();
btn.click+=new System.Envert(btn_click);
........中略
}

btn_click(object sender,System.EnvertArgs e){
Labe11.Text=Panel1.findContorls("btn").ID;
}


 "btn"という名前のコントロールがないから、ではないでしょうか?名前を「"btn" + 数字」で作っていますよね?そういうことではなく?

 例えば、

sub Page_Load()
If Not IsPostBack Then
' ここで作る
End if
End Sub

の様なことをしていると、イベントで入ってきたときには作らないので、ないものを探すことはできない、という事態が発生すると思うのですが、如何でしょう?
チャチャ
常連さん
会議室デビュー日: 2003/10/13
投稿数: 42
投稿日時: 2003-10-16 17:47
自分で解決しました、
ボタンのIDを取る方法は
Label1.text=((Button)sender.ClientID;
と書いたら、ボタンのIDを取得しました。
1

スキルアップ/キャリアアップ(JOB@IT)