By gavin.dell - 11/4/2007
Hi all,
I am having a problem using the GridView component and the WebBusinessBindingSource. When I click update or cancel on the grid, I get the message: The business object 'Customers' could not be found on this page.
[InvalidOperationException: The business object 'Customers' could not be found on this page.]
MicroFour.StrataFrame.UI.Web.BasePage.GetBusinessObject(String Name) +150
MicroFour.StrataFrame.UI.Web.WebBusinessBindingSource.GetBusinessObject() +109
MicroFour.StrataFrame.UI.Web.WebBusinessBindingSource.GetView(String viewName) +51
System.Web.UI.DataSourceControl.System.Web.UI.IDataSource.GetView(String viewName) +7
System.Web.UI.WebControls.DataBoundControl.ConnectToDataSourceView() +226
System.Web.UI.WebControls.DataBoundControl.GetData() +4
System.Web.UI.WebControls.DataBoundControl.PerformSelect() +57
System.Web.UI.WebControls.BaseDataBoundControl.DataBind() +70
System.Web.UI.WebControls.GridView.DataBind() +4
System.Web.UI.WebControls.BaseDataBoundControl.EnsureDataBound() +82
System.Web.UI.WebControls.CompositeDataBoundControl.CreateChildControls() +69
System.Web.UI.Control.EnsureChildControls() +87
System.Web.UI.Control.FindControl(String id, Int32 pathOffset) +21
System.Web.UI.Control.FindControl(String id, Int32 pathOffset) +289
System.Web.UI.Page.FindControl(String id) +40
System.Web.UI.Page.ProcessPostData(NameValueCollection postData, Boolean fBeforeLoad) +252
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3776
To work from a common ground I have simply taken the C# Web Sample code, added a page (StrataFrame Web Form), dragged on a WebBusinessBindingSource, bound it to the Customers business object, dragged on a grid and bound the grid to the WebBusinessBindingSource. When running the app, if I click the edit on a row and then click either update or cancel, I get the above exception.
There must be something amazingly simple that I am missing here ...
Please will someone point me in the right direction to resolve this.
Many thanks.
Gavin
|
By Ivan George Borges - 11/4/2007
Hi Gavin.Have you inherited the ApplicationBasePage within your new webform? The ApplicationBasePage is where you should declare all your Business Objects, and your webforms should inherit from it. Have a look at the Help under "Application" -> "WebForms" -> "ApplicationBasePage Classes" Hope it helps.
|
By Trent L. Taylor - 11/5/2007
Just to add to Ivan's comments, when you create a new web form within a StrataFrame website, there is a template that will already inherit off of the ApplicationBasePage. We sure to use the SF Web Form instead of a standard Web Form:
|
By gavin.dell - 11/5/2007
Hi guys,
Thanks for the quick responses. I was certain that I'd done that, but have deleted the page and recreated it and the error has gone away!
I hang my head in shame...
Thanks.
Gavin
|
By Trent L. Taylor - 11/6/2007
LOL...nothing to worry about at all. I am just glad you got it going!
|
By gavin.dell - 11/6/2007
Hi there,It seems that I spoke too soon. I'm am now attempting to catch the ActiveRowChanged event within an Infragistics WebGrid in order to trigger other changes in associated controls. When I bind the grid to a SqlDatasource, this works without a problem, however when I drop a WebBusinessBindingSource onto the page bound to my business object and with the grid bound to the datasource, any attempts to capture the ActiveRowChange event results in the same kind of error. I have redone this within your sample C# web app to check that I wasn't doing something daft, but the behavior is the same: I don't even have to do anything within the event for this to occur. The business object 'Customers' could not be found on this page. Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.InvalidOperationException: The business object 'Customers' could not be found on this page.
Source Error:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below. |
Stack Trace:
[InvalidOperationException: The business object 'Customers' could not be found on this page.] MicroFour.StrataFrame.UI.Web.BasePage.GetBusinessObject(String Name) +150 MicroFour.StrataFrame.UI.Web.WebBusinessBindingSource.GetBusinessObject() +109 MicroFour.StrataFrame.UI.Web.WebBusinessBindingSource.GetView(String viewName) +51 System.Web.UI.DataSourceControl.System.Web.UI.IDataSource.GetView(String viewName) +7 Infragistics.WebUI.UltraWebGrid.UltraWebGrid.GetDataSourceView() +295 Infragistics.WebUI.UltraWebGrid.UltraWebGrid.DataBind() +289 Infragistics.WebUI.UltraWebGrid.UltraWebGrid.LoadPostData(String postDataKey, NameValueCollection values) +4745 System.Web.UI.Page.ProcessPostData(NameValueCollection postData, Boolean fBeforeLoad) +408 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3776
|
Any thoughts?Many thanks in advance, Gavin
|
By Trent L. Taylor - 11/7/2007
Gavin,Have you downloaded this C# sample (http://forum.strataframe.net/FindPost12344.aspx)? Because I have run this sample over and over again and it is working just fine. So first, download this sample, open the solution and press Ctrl+F5. The sample should run and you should be able to go to the Customers Grid without issue. If this doesn't work, then there is something else in the mix here.
|
By gavin.dell - 11/7/2007
Hi there,
Yes I have downloaded the sample - the updated version that includes the WebBindingSource.aspx page. I run the sample, click edit against a record, and then cancel and get my favourite message:
Server Error in '/SampleWebApp - CSharp' Application.
--------------------------------------------------------------------------------
The business object 'Customers' could not be found on this page.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.InvalidOperationException: The business object 'Customers' could not be found on this page.
Source Error:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
Stack Trace:
[InvalidOperationException: The business object 'Customers' could not be found on this page.]
MicroFour.StrataFrame.UI.Web.BasePage.GetBusinessObject(String Name) +150
MicroFour.StrataFrame.UI.Web.WebBusinessBindingSource.GetBusinessObject() +109
MicroFour.StrataFrame.UI.Web.WebBusinessBindingSource.GetView(String viewName) +51
System.Web.UI.DataSourceControl.System.Web.UI.IDataSource.GetView(String viewName) +7
System.Web.UI.WebControls.DataBoundControl.ConnectToDataSourceView() +226
System.Web.UI.WebControls.DataBoundControl.GetData() +4
System.Web.UI.WebControls.DataBoundControl.PerformSelect() +57
System.Web.UI.WebControls.BaseDataBoundControl.DataBind() +70
System.Web.UI.WebControls.GridView.DataBind() +4
System.Web.UI.WebControls.BaseDataBoundControl.EnsureDataBound() +82
System.Web.UI.WebControls.CompositeDataBoundControl.CreateChildControls() +69
System.Web.UI.Control.EnsureChildControls() +87
System.Web.UI.Control.FindControl(String id, Int32 pathOffset) +21
System.Web.UI.Control.FindControl(String id, Int32 pathOffset) +289
System.Web.UI.Page.FindControl(String id) +40
System.Web.UI.Page.ProcessPostData(NameValueCollection postData, Boolean fBeforeLoad) +252
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3776
--------------------------------------------------------------------------------
Version Information: Microsoft .NET Framework Version:2.0.50727.832; ASP.NET Version:2.0.50727.832
Kind regards,
Gavin
|
By gavin.dell - 11/13/2007
Hi there,Any ideas concerning what is amiss here as this is preventing me from using Strataframe for this project? I have tried various things, but unfortunately cannot spend any more time on it - it seems as if the business objects are not ending up in the session? I can allow a TS session to the machine if poking around on it will help (email me for details). Kind regards, Gavin
|
By StrataFrame Team - 11/19/2007
Sorry for the delay, gavin, we're looking into it.
|
By StrataFrame Team - 11/19/2007
I have been unable to make the application fail by clicking the edit on a record and then cancel. Are you just opening the project within VS and running it, or are you loading it into IIS and launching it through there?In the meantime, I will add some more try/catches and more descriptive error messages to the GetBusinessObject() method to see if we can't track down where the problem is coming from.
|
By StrataFrame Team - 11/19/2007
Here's the update for the most recent DLLs with the updated error message. Give it a try and let me know what you run into.http://forum.strataframe.net/FindPost12783.aspx
|
By gavin.dell - 11/19/2007
Hi Ben,Thanks for your response and the effort that you have gone through in order to assist me. I re-ran my brief tests (open the updated and installed C# sample projects in VS, run, go to the Customers Grid, click Edit then Cancel) before updating the assemblies to confirm that the problem was indeed still there, and obtained the identical results - Business Object not found on page.
I then updated the assemblies and registered them using gacutil. I now cannot get any version of the C# web samples to fail (other than from InvalidCastExceptions) which is great for me, but doesn't assist either you or me in knowing what was amiss.
The only conclusion I can draw from here is that the process of registering the assemblies has resolved whatever the issue was. You will most likely have more insight into what that may mean than I do.
I will now create a small business object library based on our database schema, and see how it goes. I hope you are all feeling better. Thanks again. Gavin
|
|