Solved

How to access server control from another page?

Posted on 2008-10-12
12
1,317 Views
Last Modified: 2008-10-20
Hi, I have two pages main.aspx and list.aspx, the main.aspx page contains an iframe which is loaded by list.aspx page, now I want to access a server control in main.aspx page from list.aspx page, how can I do that?
0
Comment
Question by:Abdu_Allah
  • 5
  • 4
  • 3
12 Comments
 
LVL 13

Expert Comment

by:TechTiger007
Comment Utility
You can access the data of one page in another page only when the first page is redirecting or transfering code execution to the second page.
Hope the below links will help you
http://msdn.microsoft.com/en-us/magazine/cc163722.aspx

You can get more samples on net if you search on how to use "PreviousPage" property in asp.net




0
 
LVL 3

Author Comment

by:Abdu_Allah
Comment Utility
There is no redirecting or transferreing in my case. The list.aspx page will do some serverside operations and within these operation I must access the control in main.aspx page.
0
 
LVL 13

Expert Comment

by:TechTiger007
Comment Utility
Does that mean that you are not redirecting or submitting main.aspx page to list.aspx page?

If that is the case then you wont be able to access controls that are in main.aspx from list.aspx page.

When ever you request for a page, whether it is on postback or not, asp.net will be creating a new instance of the page and add the data in viewstate to the corresponding controls. The instance of other pages wont be available. That is how ASP.NET works, not like windows applications. But you can access data from one page in another through session variables, or by storing in a database or cookies

For more info on passing data from one page to another
http://forums.asp.net/t/1315570.aspx

Hope that clarifies
0
 
LVL 3

Author Comment

by:Abdu_Allah
Comment Utility
The instances of main.aspx and list.aspx are both alive, because list.aspx is within iframe in main.aspx.
0
 
LVL 23

Expert Comment

by:adilkhan
Comment Utility
Sure you can get the Value of a parent window that contains a iframe, but it all depends what you want to do with the Value.

For Example, Server Side using pure Asp.net you are able to do this. but by using client side javaScript, you can get the Value of Parent Windows's Server Control Such as (Textbox, Div span) Values.

So as long as you know the ClientID of a control you can access its values. But please keep in mind you can not mix javaScript Code with Aspx Code.


IFrame Code:
 

<input type="button" onClick="alert(parent.document.getElementById('getme').value)" value="Get 
 

main Windows's Textbox">
 
 

Parent Window Code:
 

<input type="text" id="getme">
 

<iframe src="hello.html">

Parent Windows's Textbox Content">

</iframe>

Open in new window

0
 
LVL 13

Expert Comment

by:TechTiger007
Comment Utility
Ok I was thinking the other way.
Then you can access the controls using javascript
var control = window.frames[<framename>].document.getElementById('<controlname>')

then get the value from control and do what ever you want.
But the same thing cannot be done from server side code.
0
Why You Should Analyze Threat Actor TTPs

After years of analyzing threat actor behavior, it’s become clear that at any given time there are specific tactics, techniques, and procedures (TTPs) that are particularly prevalent. By analyzing and understanding these TTPs, you can dramatically enhance your security program.

 
LVL 13

Expert Comment

by:TechTiger007
Comment Utility
If you want to pass this value to server code assign the value to a hidden variable and access from server side code
0
 
LVL 3

Author Comment

by:Abdu_Allah
Comment Utility
I said accessing serverside control from serverside operation, no javascript.
0
 
LVL 23

Accepted Solution

by:
adilkhan earned 500 total points
Comment Utility
Then you are out of luck.
Try the hidden field technique as suggested above. or Submit the form of main page into "Iframe" using javaScript and get your control's values.
0
 
LVL 3

Author Comment

by:Abdu_Allah
Comment Utility
how do you access a hidden feild from serverside function!
0
 
LVL 23

Expert Comment

by:adilkhan
Comment Utility
Lets Talk About Iframe Code.

User Clicks on a Button within Iframe Page to get the Value of a control in Main Page.
in I Frame you must have a Hidden Field.
<input type="hidden" runat="server" id="someId_Hidden" />

now when you click button in Iframe, update the Value of hidden field with the Value of the Server Side control  of main window(using javaScript).

document.getElementById('someId_Hidden').value = parent.document.getElementById('getme').value

where "getme" is a serverSide Control ID in main page.
0
 
LVL 13

Expert Comment

by:TechTiger007
Comment Utility
You can access a hidden field in server side control the same way you access other controls suppose your hidden field is named HiddenField1
<asp:HiddenField ID="HiddenField1" runat="server" />

In server side you can access it as HiddenField1.value to get its value
0

Featured Post

6 Surprising Benefits of Threat Intelligence

All sorts of threat intelligence is available on the web. Intelligence you can learn from, and use to anticipate and prepare for future attacks.

Join & Write a Comment

This article discusses the ASP.NET AJAX ModalPopupExtender control. In this article we will show how to use the ModalPopupExtender control, how to display/show/call the ASP.NET AJAX ModalPopupExtender control from javascript, how to show/display/cal…
One of the pain points with developing AJAX, JavaScript, JQuery, and other client-side behaviors is that JavaScript doesn’t allow for cross domain request for pulling content. For example, JavaScript code on www.johnchapman.name could not pull conte…
Sending a Secure fax is easy with eFax Corporate (http://www.enterprise.efax.com). First, Just open a new email message.  In the To field, type your recipient's fax number @efaxsend.com. You can even send a secure international fax — just include t…
This video gives you a great overview about bandwidth monitoring with SNMP and WMI with our network monitoring solution PRTG Network Monitor (https://www.paessler.com/prtg). If you're looking for how to monitor bandwidth using netflow or packet s…

772 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

Need Help in Real-Time?

Connect with top rated Experts

12 Experts available now in Live!

Get 1:1 Help Now