1

2つのリンクボタンを動的に作成しました。

for (int i = 0; i < 2; i++) {
    LinkButton lb = new LinkButton();
    lb.ID = "lnk" + FileName;
    lb.Text = FileName;
    Session["file"] = FileName;
    lb.CommandArgument = FileName;
    lb.Click += new EventHandler(Lb_Click);
    Panel1.Controls.Add(lb);
    Panel1.Controls.Add(new LiteralControl("<br />"));
}

私は2つのリンクを持っています、すなわち:

  1. File11
  2. File22

そして、どれがクリックされたかを判断する必要があります。

void Lb_Click(object sender, EventArgs e) {
    string id=lb.ID;

    //Here - how to get link button id which is clicked (either File11 id or File22 id)?
}
4

2 に答える 2

5

イベント ハンドラーで:

LinkButton clickedButton = (LinkButton)sender;

その後、次を使用してIDにアクセスできますclickedButton.ID

イベントの送信者を決定するための MSDN ウォークスルーhttp://msdn.microsoft.com/en-us/library/aa457091.aspxを次に示します。

于 2010-04-27T10:00:15.540 に答える
0

実際には、動的に生成されたボタンの ID を生成する必要はありません。ボタンまたはリンクがクリックされると、イベント ハンドラーはイベント自体だけでなく、送信者情報も受信するためです。

String buttonText = (LinkBut​​ton)sender.Text;

複数のボタンで同じイベント ハンドラーを共有し、異なる名前に基づいてクリックされた異なるボタンに対応するタスクを実行できます。

于 2015-02-27T05:09:25.237 に答える