| | | StrataFrame Beginner
       
Group: Forum Members Last Login: 11/19/2007 4:06:18 AM Posts: 41, Visits: 99 |
| | For making any Business Object accessible in any webpage, i inherit the webpage from ApplicationBasePage but i cant do the same with a User Control, so how can i make any business object available to my User Controls ? |
| | | | 
StrataFrame Developer

Group: StrataFrame Developers Last Login: Today @ 4:52:53 AM Posts: 4,586, Visits: 4,571 |
| | | | | StrataFrame Beginner
       
Group: Forum Members Last Login: 11/19/2007 4:06:18 AM Posts: 41, Visits: 99 |
| | Hello Trent, The BusinessObject works fine in an .aspx page because the aspx page is inherited from ApplicationBasePage but the user control cant refer to the same business object because it is not inherited from the ApplicationBAsePage and I dont think if it can be inherited from applicationbasepage as well. following is a code snippet from Aspx page [which works fine] and from .ascx control [which throws a compilation error since it does not know where the business object is] Code for .ASCX [ User Control] Partial Class ListControls_CompanyListInherits System.Web.UI.UserControl Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load GridView1.DataSource = oCompanyBO.GetAll("vik") DataBind() End Sub End Class Code for ASPX page inherited from ApplicationBase Page. Partial Class List_CompanyInherits MyAppBasePage Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load GridView1.DataSource = oCompanyBO.GetAll("vik") DataBind() End Sub End Class |
| | | | 
StrataFrame Developer

Group: StrataFrame Developers Last Login: Today @ 4:52:53 AM Posts: 4,586, Visits: 4,571 |
| | What we always do is create a property and then set that property in the Load or the property sheet (depending on how you design it) of the page that uses the control. This way the control is encapsulated, as it should be. For example: Public Property MyCustomers As CustomersBO ... End Property This way your control can use the BO that comes from the ApplicationBasePage by simply setting the property when the page is loaded. Then your control will reference the property instead whenever it needs to access the BO inside of the control. |
| |
|
|