Groups | Blog | Home
all groups > asp.net building controls > december 2005 >

asp.net building controls : communication between an application, custom controls, and user controls



Beatniks
12/16/2005 1:20:13 PM
Hi, and many thanks in advance...

I'm a little lost about how to proceed with communication between an
application, custom controls, and user controls...

Within a site I have...
ShoppingCart.dll:
(Code for a custom control that handles database interaction of a
shopping cart: cookies, storing the order, etc. It gets info from a
sqldatabase so, two instances will have the same data)

showProducts.ascx
A user control that dispays products. This contains "AD" buttons which
are involved in handling adding items to the ShoppingCart.dll and has
an AddToCart(...) function.

An instance of the ShoppingCart.dll is established in MasterPage.Master
file in the Page_Load event: dim mySC as ShoppingCart. (I want to do
it here because it checks for cookies and stuff)

How do I go about letting myShoppingCart (ShoppingCart.dll) know when
someone clicks a button inside the showProducts user control?

I guess my options are:
1. Create two instances of the ShoppingCart object. One in
masterPage.Master and one inside showProducts.ascx. This seems messy
to me.
2. Have the showProducts.ascx get a hold of the myShoppingCart
object. (Please don't throw anything at me for even thinking of doing
this.)
3. Inside the user control showProducts.ascx create a datatable as a
property and access it in the masterPage.Master's Page_Load event, then
throw that into the ShoppingCart.dll variable.
4. Have the showProducts.ascx raise a masterpage event that handles
the AddtoCart button click.

I'm just a little lost and needed to be pointed into the right
direction.
Thank you 1000%.

Beatnik's/BelleVegas.com
Beatniks
12/17/2005 11:46:57 AM
OK! Excuse my zombie-like-deer-in-the-headlights trance.

I now figured out that I need to ad this to my custom controlS:

Public Event AddButtonClick(ByVal s As Object, ByVal s As EventArgs)

Protected Sub OnAddButtonClick(ByVal e As EventArgs)
RaiseEvent AddButtonClick(Me, EventArgs.Empty)
End Sub


and then handle the event with <... OnAddButtonClick="..." ... />
Beatniks
12/17/2005 2:11:25 PM
I found a great article abou this stuff...
http://www.ondotnet.com/pub/a/dotnet/excerpt/ASP.NETCookbook_chap1/index.html?page=2
AddThis Social Bookmark Button