2013-09-20 9 views
0

У меня есть объект управления. В объекте управления я добавил кнопку. Я хочу обработать событие click для объекта Button.Как обрабатывать событие click для кнопки, помещенной внутри объекта управления?

 mapcomponent.MapObjectClick += new MapComponent.MapComponent.MapObjectEventHandler(mapcomponent_MapObjectClick); 

    Public void mapcomponent_MapObjectClick(object sender, MapObjectEventArg e) 
    { 
     if (e != null) 
     { 
      var obj = sender as Control; 
      var txt = obj.FindControl("txt1") as TextBox; 
      if (txt != null) 
       txt.Text = "hello"; 

      var btn = obj.FindControl("btn1") as Button; 

      if (btn != null) 
      { 
       btn.Command += new CommandEventHandler(b_Command); //handler 
      } 
     } 
    } 

//Not working 
Public void b_Command(object sender, CommandEventArgs e) 
    { 
     //Want to call This Method 
    } 
+0

Почему вы не используете 'btn.OnClick'? –

ответ

0

Вы должны указать своей кнопке CommandName и поймать ее на событии OnCommand.

btn.Command += new CommandEventHandler(b_Command); //handler 
btn.CommandName = "foo"; 

Public void b_Command(object sender, CommandEventArgs e) 
{ 
    if(e.CommandName == "foo") 
    { 
     //Do stuff 
    } 
} 
0

Я не совсем уверен, что точка вашего scenarion, но если вы хотите, чтобы вызвать событие нажатия кнопки программно можно использовать метод Button.PerformClick().

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