2009-09-21 6 views
1

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

void LinkButton_Click(object sender, EventArgs e) 
    { 
    Response.Write("You clicked the link button"); 
    } 

Это работает хорошо, но теперь я, когда один из LinkButtons, нажимает Я хочу, чтобы получить его идентификатор и отправить его в другую функцию.

Любая помощь была бы принята с благодарностью.

Matt

ответ

3

Вы должны бросить sender к определенному типу управления, как в:

void LinkButton_Click(Object sender, EventArgs e) 
{ 
    LinkButton button = sender as LinkButton; 

    if(button != null) 
    { 
    //do something 
    } 

    Response.Write("You clicked the link button"; 
} 

Оператор as будет пытаться бросить sender набрать LinkButton. Если это не удастся, локальная переменная button будет установлена ​​в null. Обратите внимание, что это другое поведение, чем (LinkButton)sender, которое генерирует исключение, если тип не подходит.

+0

фантастический, спасибо помощник. Я раньше играл с (LinkButton) отправителем! – bExplosion

+1

bExplosion: хорошая сделка. Чтобы добавить к обсуждению, вы также можете отправить отправителя в WebControl. Это полезно, если вы планируете запускать это событие более чем одним типом серверного элемента управления. Чтобы это сработало, все элементы управления должны будут простираться от WebControl (что в большинстве случаев делает). –

Смежные вопросы