Hello, I am using C# to create an ASP.NET website. Here's my issue:
I have a standard button on one page. This button has an onclick setup to fire a method. I have a second button on this page. When the user clicks on this button, its onclick setup fires another method which does some stuff, BUT at the end of this method, I would like it to fire the first button's onclick method.
Currently when I add the name of the first button's onclick method ( button1_Click() ) to the end of the second button's onclick method, this error is displayed: "No overload method for..takes 0 arguments".
I know what this error means: the system wants me to include two variables when calling button1_click, which are the default: object sender, EventArgs e
What are object sender, EventArgs e and how do I include them in my call to button1_Click from the button2_click method?
We get it - no one likes a content blocker. Take one extra minute and find out why we block content.
Not exactly the question you had in mind?
Sign up for an EE membership and get your own personalized solution. With an EE membership, you can ask unlimited troubleshooting, research, or opinion questions.
carl_tawn is absolutely correct, I would only expand on his response slightly to say that it is usually safe to pass null for both arguments - it certainly seems to be the case you could safely do so given your current example, just wanted to point out it's not always safe (99% safe, 1% not safe).
Also, I would suggest moving the code that actually does "stuff" into it's own method(s), and then calling those methods from the button event handlers:
private void Button1_Click(object sender, EventArgs e){ // Button 1 just does stuff. DoStuff();}private void Button2_Click(object sender, EventArgs e){ // Button 2 does stuff, and also does other stuff DoStuff(); DoOtherStuff();}private void DoStuff(){ // Do some stuff }private void DoOtherStuff(){ // Do some other stuff}
@tgerbert - You are of course correct - just figured it wasn't likely to be an issue in this scenario so skimmed over it :)
Just to expand a little. It is possible to use a single event handler as the target for an event on multiple controls. In a scenario like that you may want to cast "sender" in order to find out which control raised the event and act accordingly.
karlhsc
ASKER
tgerbert: thank you for the additional information. I see the merit in the architecture you provided.
Your help has saved me hundreds of hours of internet surfing.
Also, I would suggest moving the code that actually does "stuff" into it's own method(s), and then calling those methods from the button event handlers:
Open in new window