By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
435,268 Members | 1,371 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 435,268 IT Pros & Developers. It's quick & easy.

how to fire an event programmatically?

P: n/a
This is admittedly an apparently odd request... but please indulge me if you
don't mind:

Suppose I have two <asp:Button.../> on a page (Button1 and Button2). User
clicks Button1 and triggers a PostBack. How can I then fire the click event
of Button2 during the same PostBack?

I know this seems like a totally bad situation I'm creating out of naiveity.
But please indulge. It would save me from having to provide a lengthy
explanation for why I'm interested in doing this.

Please note - I want to *actually fire* the click event of Button2. It's
not enough to simply run code in some independent method that could get
called from either button's click event procedure.

Thanks!
Nov 19 '05 #1
Share this Question
Share on Google+
5 Replies


P: n/a
Button1 triggers a postback. This means the server is busy processing the
postback. Now you want to fire another click event. But it is the client who
fires onclick events. This means you need another postback to communicate
the second onclick to the server. Is this what you mean by *actually fire*
the click event of Button2? Or you want to fake another onclick on the
server side?

Eliyahu

"Verde" <VF******@BeansAndTacos.net> wrote in message
news:u9**************@TK2MSFTNGP09.phx.gbl...
This is admittedly an apparently odd request... but please indulge me if you don't mind:

Suppose I have two <asp:Button.../> on a page (Button1 and Button2). User
clicks Button1 and triggers a PostBack. How can I then fire the click event of Button2 during the same PostBack?

I know this seems like a totally bad situation I'm creating out of naiveity. But please indulge. It would save me from having to provide a lengthy
explanation for why I'm interested in doing this.

Please note - I want to *actually fire* the click event of Button2. It's
not enough to simply run code in some independent method that could get
called from either button's click event procedure.

Thanks!

Nov 19 '05 #2

P: n/a
just call the vent of button 2
button1_event(e,e)
{
bla bla
button2_event(null,null)
}

Nov 19 '05 #3

P: n/a
Verde wrote:
This is admittedly an apparently odd request... but please indulge me
if you don't mind:

Suppose I have two <asp:Button.../> on a page (Button1 and Button2).
User clicks Button1 and triggers a PostBack. How can I then fire the
click event of Button2 during the same PostBack?

I know this seems like a totally bad situation I'm creating out of
naiveity. But please indulge. It would save me from having to provide
a lengthy explanation for why I'm interested in doing this.

Please note - I want to *actually fire* the click event of Button2. It's not enough to simply run code in some independent method
that
could get called from either button's click event procedure.

Thanks!


What do you think is the difference between "actually fire" the click
event and call a method?

For C# code is generated like: Button1.Click += new ClickEventHandler(...)
You could try and add the handler for the Button2.Click also to Button1.Click
(so Button1.Click has two handlers and the Button2 handler is called by both clicks)
Do this in the Page_Load so you don't need to alter the generated code.

Hans Kesting
Nov 19 '05 #4

P: n/a
The short answer, as I eventually figured out is this:
tmpMyButton.RaisePostBackEvent("click");

FWIW: The reason I need to do this is that I'm using a 3rd party component
that implements its own .Click event that is NOT cancellable. Additionally,
this component does not trigger client-side control validation. My solution
is to implement a plain old <asp:ImageButton> to trigger the postback
(rather than using the 3rd party component). This gets the validation to
happen. On the server I then handle the ImageButton's click event. During
that event procedure I do more sophisticated validation and ensure that all
data required for the 3rd Party component is present. If it is, I then
programmatically instantiate the 3rd party component and fire its click
event procedure. Remember it's not cancellable - so rather than getting into
it and wishing I could cancel it if runtime conditions aren't right, I
verify the runtime conditions (in the asp:ImageButton's click event
procedrue) before even firing the 3rd party component's click event; thereby
having the same effect as cancelling it. Now, you're probably thinking this
is all fine and well but that I still don't have to fire the event (via
tmpMyButton.RaisePostBackEvent("click");) and could instead call another
method. Not true -- because the 3rd party component *always* does something
internally (i.e., I don't know how it does it) as part of its click event
procedure *after* all of my code in its [click event procedure] has run: It
POSTs data to the vendor's Web site and redirects my user to their site. If
I don't want my user to go to the vendor's site under some runtime
conditions, then I'd have to cancel the click event. But because I can't
cancel it I have to make sure it never gets fired under those conditions.
But when conditions are right I do need to ensure that my users and data get
transferred - and because the component does that as part of it's click
event I need to fire that click event (running my own code doesn't get the
user to the 3rd Party site). So, at the end of the day I get (1) client side
validation and (2) the functional equivalent of a cancellable event and (3)
leverage a 3rd party component's existing functionality to transfer
user+data -- when the component does not support the first two of these
things.

-V

"Hans Kesting" <ne***********@spamgourmet.com> wrote in message
news:Og**************@TK2MSFTNGP09.phx.gbl...
Verde wrote:
This is admittedly an apparently odd request... but please indulge me
if you don't mind:

Suppose I have two <asp:Button.../> on a page (Button1 and Button2).
User clicks Button1 and triggers a PostBack. How can I then fire the
click event of Button2 during the same PostBack?

I know this seems like a totally bad situation I'm creating out of
naiveity. But please indulge. It would save me from having to provide
a lengthy explanation for why I'm interested in doing this.

Please note - I want to *actually fire* the click event of Button2. It's
not enough to simply run code in some independent method that
could get called from either button's click event procedure.

Thanks!


What do you think is the difference between "actually fire" the click
event and call a method?

For C# code is generated like: Button1.Click += new ClickEventHandler(...)
You could try and add the handler for the Button2.Click also to
Button1.Click
(so Button1.Click has two handlers and the Button2 handler is called by
both clicks)
Do this in the Page_Load so you don't need to alter the generated code.

Hans Kesting

Nov 19 '05 #5

P: n/a
I want to fake another .Click on the server side.
But I figured it out... see my response to Hans.

Thanks for your interest!


"Eliyahu Goldin" <re*************@monarchmed.com> wrote in message
news:%2****************@tk2msftngp13.phx.gbl...
Button1 triggers a postback. This means the server is busy processing the
postback. Now you want to fire another click event. But it is the client
who
fires onclick events. This means you need another postback to communicate
the second onclick to the server. Is this what you mean by *actually fire*
the click event of Button2? Or you want to fake another onclick on the
server side?

Eliyahu

"Verde" <VF******@BeansAndTacos.net> wrote in message
news:u9**************@TK2MSFTNGP09.phx.gbl...
This is admittedly an apparently odd request... but please indulge me if

you
don't mind:

Suppose I have two <asp:Button.../> on a page (Button1 and Button2). User
clicks Button1 and triggers a PostBack. How can I then fire the click

event
of Button2 during the same PostBack?

I know this seems like a totally bad situation I'm creating out of

naiveity.
But please indulge. It would save me from having to provide a lengthy
explanation for why I'm interested in doing this.

Please note - I want to *actually fire* the click event of Button2. It's
not enough to simply run code in some independent method that could get
called from either button's click event procedure.

Thanks!


Nov 19 '05 #6

This discussion thread is closed

Replies have been disabled for this discussion.