• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1329
  • Last Modified:

How to access server control from another page?

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
Abdu_Allah
Asked:
Abdu_Allah
  • 5
  • 4
  • 3
1 Solution
 
TechTiger007Commented:
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
 
Abdu_AllahAuthor Commented:
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
 
TechTiger007Commented:
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
Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
Abdu_AllahAuthor Commented:
The instances of main.aspx and list.aspx are both alive, because list.aspx is within iframe in main.aspx.
0
 
Saqib KhanSenior DeveloperCommented:
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
 
TechTiger007Commented:
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
 
TechTiger007Commented:
If you want to pass this value to server code assign the value to a hidden variable and access from server side code
0
 
Abdu_AllahAuthor Commented:
I said accessing serverside control from serverside operation, no javascript.
0
 
Saqib KhanSenior DeveloperCommented:
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
 
Abdu_AllahAuthor Commented:
how do you access a hidden feild from serverside function!
0
 
Saqib KhanSenior DeveloperCommented:
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
 
TechTiger007Commented:
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
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Get expert help—faster!

Need expert help—fast? Use the Help Bell for personalized assistance getting answers to your important questions.

  • 5
  • 4
  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now