How to communicate between users controls in web form?

S

Simon

How to pass messages through events from a user control to its containing
page, or to another user control? Is there any recommended way? Thanks very
much.
 
M

Munna

Hi,

As for asp.net

Declare a event in the user control and then fire the event on your
purpose...
subscribe the event of the user control..... in page... you can also
declare
your custom delegate for this purpose...

Okay now... the above solution will serve your purpose yet you can do
lot of engineering in this issue...
you can also implement observer pattern...

its your choice

Best of luck

Munna
www.munna.shatkotha.com
www.munna.shatkotha.com/blog
www.shatkotha.com
 
N

nick chan

from user control, u can access the page by just calling "Page"
property
to access other controls, try Page.FindControls("")

If Page doesn't work, try Parent
 
S

Steven Cheng [MSFT]

Hi Simon,

From your description, what you want to do is let the usercontrol and its
container page or other user control on the same page communicate or share
some data with each other , correct?

As for the communication, would you provide some further details about what
process will a typical communication between them followup? Generally,
since the UserControl has the "Page" property, I think you can try define
some custom properties on the Page class and then let the usercontrol get
reference to its container page, and set those custom properties to forward
certain data(from user control to page).

If you want to share data between different usercontrol instance, I think
it is necessary to perform FindControl from page. For example, one
usercontrol first get reference to its container page, and then search for
another usercontrol on the page(and access properties on that usercontrol).
However, FindControl require you to know the control hierarchy/structure
on the page.

Anyway, please feel free to let me know if you have further particular
requirements or concerns here.

Sincerely,

Steven Cheng

Microsoft MSDN Online Support Lead


Delighting our customers is our #1 priority. We welcome your comments and
suggestions about how we can improve the support we provide to you. Please
feel free to let my manager know what you think of the level of service
provided. You can send feedback directly to my manager at:
(e-mail address removed).

==================================================
Get notification to my posts through email? Please refer to
http://msdn.microsoft.com/subscriptions/managednewsgroups/default.aspx#notif
ications.

Note: The MSDN Managed Newsgroup support offering is for non-urgent issues
where an initial response from the community or a Microsoft Support
Engineer within 1 business day is acceptable. Please note that each follow
up response may take approximately 2 business days as the support
professional working with you may need further investigation to reach the
most efficient resolution. The offering is not appropriate for situations
that require urgent, real-time or phone-based interactions or complex
project analysis and dump analysis issues. Issues of this nature are best
handled working with a dedicated Microsoft Support Engineer by contacting
Microsoft Customer Support Services (CSS) at
http://msdn.microsoft.com/subscriptions/support/default.aspx.
==================================================
This posting is provided "AS IS" with no warranties, and confers no rights.

--------------------
 
S

Simon

Thanks very much. I think I could begin from findcontrol method and then
exchange some data among user controls.
 
S

Steven Cheng [MSFT]

Thanks for your quick reply Simon,

Also, for "FindControl" method, I'd like to inform you to take care of the
control/structure. For example, the FindControl method can only search
controls in the same NamingContainer context. In other words, if two user
controls are put inside the same naming container, you can use the
following code to find control :

UserControl1.NamingContainer.FindControl("Usercontrol2")

here is a web article mentioned functionality of FindControl method:

http://aspadvice.com/blogs/joteke/archive/2006/08/12/20546.aspx

If you encounter any further problem, welcome to post here.

Sincerely,

Steven Cheng

Microsoft MSDN Online Support Lead


Delighting our customers is our #1 priority. We welcome your comments and
suggestions about how we can improve the support we provide to you. Please
feel free to let my manager know what you think of the level of service
provided. You can send feedback directly to my manager at:
(e-mail address removed).

--------------------
 
S

Simon

Got it. Thanks, Steven for your useful help. :)

Steven Cheng said:
Thanks for your quick reply Simon,

Also, for "FindControl" method, I'd like to inform you to take care of the
control/structure. For example, the FindControl method can only search
controls in the same NamingContainer context. In other words, if two user
controls are put inside the same naming container, you can use the
following code to find control :

UserControl1.NamingContainer.FindControl("Usercontrol2")

here is a web article mentioned functionality of FindControl method:

http://aspadvice.com/blogs/joteke/archive/2006/08/12/20546.aspx

If you encounter any further problem, welcome to post here.

Sincerely,

Steven Cheng

Microsoft MSDN Online Support Lead


Delighting our customers is our #1 priority. We welcome your comments and
suggestions about how we can improve the support we provide to you. Please
feel free to let my manager know what you think of the level of service
provided. You can send feedback directly to my manager at:
(e-mail address removed).
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,581
Members
45,056
Latest member
GlycogenSupporthealth

Latest Threads

Top