Controls traversing

  • Thread starter Thread starter abcd
  • Start date Start date
A

abcd

Let me know if you know this.

I have Aspx page with below control structure.

AjaxTabContainer
- ReceiptPanel
? Literal
? ReportViewer

- EmailPanel
o UserControl
? TextBox1
? TextBox1
? Button

I want to access the ReportViewer control from Button action.

I tried

var rptVw = (ReportViewer)
Parent.Parent.Parent.Controls[0].Controls[1].Controls[1];

This works but looks ugly. Also I dont want to search the control by its ID.
[I dont want hardcoding so that it can be used multiple places]

I am blind at this moment. Do you see efficient way to reach to
ReportViewer, from the button action.
 
var rptVw = (ReportViewer)
Parent.Parent.Parent.Controls[0].Controls[1].Controls[1];

This works but looks ugly. Also I dont want to search the control by
its ID. [I dont want hardcoding so that it can be used multiple
places]

I am blind at this moment. Do you see efficient way to reach to
ReportViewer, from the button action.

You can make this a bit prettier by "asking" the control for its id and
emitting the JavaScript that "finds" it. It is a more maintainable solution
than Parent.Parent.Parent.Controls[0].Controls[1].Controls[1], as altering
the page may end up with the ReportViewer with a different ordinal value.

Other than that, I am not coming up with any brilliant ideas at the moment.

Peace and Grace,

--
Gregory A. Beamer (MVP)

Twitter: @gbworld
Blog: http://gregorybeamer.spaces.live.com

*******************************************
| Think outside the box! |
*******************************************
 
Back
Top