Как получить идентификатор кнопки ссылки, который генерируется динамически из кода в обработчике события - PullRequest
1 голос
/ 27 апреля 2010

Я создал две кнопки ссылки динамически:

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 />"));
}

У меня есть две ссылки, а именно:

  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)?
}

Ответы [ 2 ]

5 голосов
/ 27 апреля 2010

В вашем обработчике событий:

LinkButton clickedButton = (LinkButton)sender;

Вы можете получить доступ к идентификатору, используя clickedButton.ID

Вот пошаговое руководство по MSDN: http://msdn.microsoft.com/en-us/library/aa457091.aspx для определения отправителей событий.

0 голосов
/ 27 февраля 2015

На самом деле вам не нужно генерировать идентификатор для динамически генерируемых кнопок. Потому что, когда нажимается кнопка ИЛИ ссылка, обработчик события получает не только само событие, но и информацию об отправителе.

String buttonText = (LinkButton) sender.Text;

Несколько кнопок могут совместно использовать один и тот же обработчик событий и выполнять соответствующую задачу для кнопки различных сетей, нажатой на основе другого имени.

...