I have three buttons each calling btn_Clicked
on their onClick
event. In code behind I want to get the ID of the button that caused postback. I know I can assign each button to call a different method but I would like to learn a bit of ASP.Net. Also tell me which method is more efficient? Calling different methods on different button clicks or calling the same method (if the functionality of each button is same).
Cast the sender object to the button and then you can get all the properties.
Button clickedButton = (Button)sender;
Also tell me which method is more efficient? Calling different methods on different button clicks or calling the same method (if the functionality of each button is same).
If the functionality is same then it's better to have a single event, since you don't have to replicate code. Remember the DRY principle.
Consider the following example:
protected void Button1_Click(object sender, EventArgs e)
{
Button clickedButton = sender as Button;
if (clickedButton == null) // just to be on the safe side
return;
if (clickedButton.ID == "Button1")
{
}
else if(clickedButton.ID == "Button2")
{
}
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With