Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

Call the click event of a ASP.NET button from another form

Posted on 2010-11-15
10
Medium Priority
?
996 Views
Last Modified: 2012-08-13
I want to Call the click event of a ASP.NET button from another form.  How can I do this?  Can I use JavaScript?

This was suggested to me.  Does this make sense?

"Probably the simplest way of triggering the AJAX refresh across windows is to put a refresh button on the calling page, hide it with Javascript, and then call its click() method from the other page by using that same opener property to access the first page. You might need the document.getElementById('refreshButtonName'); function to find the refresh button."
0
Comment
Question by:HLRosenberger
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
10 Comments
 
LVL 5

Expert Comment

by:vivekpv10
ID: 34142530
make that button click event as publick...then call like this..
  btnSave_Click(sender, e);
0
 
LVL 10

Expert Comment

by:hosneylk
ID: 34142534

document.getElementById('btnId').click();

Open in new window

0
 
LVL 3

Expert Comment

by:mahmoodvcs
ID: 34143801
from the child window (triggering click on parent window):

opener.document.getElementById('btnId').click();

from the parent window, if you have opened a window like this:

var wnd = window.open('url');

then use:

wnd.document.getElementById('btnId').click();
0
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 1

Author Comment

by:HLRosenberger
ID: 34148649
The child window is a popup and I display it using window.showModalDialog.

I tried opener.document.getElementById('btnId').click()  and  wnd.document.getElementById('btnId').click()   and neither seems to work, unless I am doing something wrong.   There is an accept button on the popup that does self.close().   When accept is click, this is where I want to trigger a refresh button click on the page from which i opened the popup?



Question:  How does it know to look for the button on the parent page and not on the popup?
0
 
LVL 10

Expert Comment

by:hosneylk
ID: 34150508

window.opener.document.getElementById('btnId').click()

should work when called from the popup before calling self.close

Open in new window

0
 
LVL 1

Author Comment

by:HLRosenberger
ID: 34198425
I tried this.  it does not seem to work.  The button ID.  How does the codue know which page the button is on?  
0
 
LVL 10

Expert Comment

by:hosneylk
ID: 34202016
well when you say window.opener it means the parent window. try adding a function in the parent and calling that.

e.g.
parent page:
function testCall() {
   alert('comes here');
}

popup page:
window.opener.testCall();

Open in new window

0
 
LVL 1

Author Comment

by:HLRosenberger
ID: 34210132
I found my problem - I need to reference the ASP button like this:

var RefreshButton= window.document.getElementById("<%= Unidentified_DocumentsRefreshButton.ClientID %>");

What's the deal with the  <%= %> syntax?  What does that tell the JavaScript interpreter?  Do you know if I always need this syntax?
0
 
LVL 10

Accepted Solution

by:
hosneylk earned 2000 total points
ID: 34210148
its not javascript syntax. this happens when the server ID of Unidentified_DocumentsRefreshButton is not the same as the generated client ID. this might be because it's within a control. you can check this by looking at the source of the page in the browser.

what the ode above does is that it returns the generated clientid of the button. this is done when the page is generated by asp.net. so it's better to always use this syntax when using server conrols in javascript.
0
 
LVL 1

Author Closing Comment

by:HLRosenberger
ID: 34210165
Thanks for the explanation!
0

Featured Post

Build and deliver software with DevOps

A digital transformation requires faster time to market, shorter software development lifecycles, and the ability to adapt rapidly to changing customer demands. DevOps provides the solution.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Having worked on larger scale sites, we found out that you are bound to look at more scalable solutions to integrating widgets, code snippets or complete applications and mesh them into functional sites, in any given composition. To share some of…
This article demonstrates how to create a simple responsive confirmation dialog with Ok and Cancel buttons using HTML, CSS, jQuery and Promises
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)
The viewer will learn the basics of jQuery including how to code hide show and toggles. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery…

721 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question