Issue with AsyncPostBackTrigger

I am using Telerik’s RadTreeView control to navigate through data, and as a node in the treeview is clicked the “Detail” panel on the page is supposed to update using AJAX with information about the clicked node. Part of that information is a dynamically added GoView control (either an org chart or a flow chart, depending on the type of the object described in the treeview node).

My problem is this: If I place the user control that creates the GoView into an asp:UpdatePanel and list the RadTreeView as a Trigger, then I get an “Object Expected” error in the Microsoft JScript editor when the page is displayed.

the error highlighting, in the debugger, is at these lines:


Here is the UpdatePanel code:
<asp:UpdatePanel ID=“UpdatePanel1” runat=“server” UpdateMode=“Conditional” >

<elmnt:element ID=“elmnt” targetURL=“explore.aspx” runat=“server” />


<asp:AsyncPostBackTrigger ControlID=“RadTreeView1” EventName=“NodeClick” />

</asp:UpdatePanel>

If I remove the section, then everything loads without a problem. If I put the section back in and remove the GoView control from the page, everything loads just fine as well.

I have posted this problem in the Telerik forums as well because I am not sure what the cause of the problem is…it probably isn’t with either control individually, but the the way I am trying to combine their use.

Does anyone have any ideas as to how I can identify the cause of this?
Thanks for any advice you can give.

Do you know if the error is in GoWeb.js?

Are you using the client-side script debugging in Visual Studio?

Thank you for your response.

The error doesn’t seem to be in GoWeb.js.

I put the “debugger” statement on the first line of the goInit function of GoWeb.js, and the statement was never reached before the error occured.

I also put the “debugger” statement at the first line of the GoWeb.js file, just after the comments, and it was not reached.

The error occurs when I try to load the first page that has both the Treeview and a GoView org chart. The debugger shows the page’s source code in a new tab in the Visual Studio IDE, with the problem lines highlighted in yellow.

The problem is; multiple lines are highlighted, so I am not sure exactly where the problem lies. And, like I said, this only occurs if I try to use the functionality of the UpdatePanel. (it also happens if I try to use Telerik’s provided functionality called ‘RadAjaxManager’)

hmmmmm.

How can I get the GoView to clear and replace it with a new image without doing a complete postback of the page?

I have removed the UpdatePanel from my page and I am just using a NodeClick event from the RadTreeView control to load a new GoView chart based on the ID of the node that has been clicked. I have a text box on the page that just shows the ID, for testing purposes.

If I click nodes on in the treeview, all the code runs like it should and it appears that a new chart is created. The textbox displays the new ID but, the diagram that is displayed is the same as previous. I can’t get the diagram to change.

Again, all this is being generated from the RadTreeView_NodeClick event in my aspx page, not from the Page_Load event, as with other pages I have that use GoDiagram. The diagrams all work beautifully in all other pages that use them, because they are all generated from the Page_Load event.

I just can’t figure out what the issue is in this particular instance.

Thanks for any advise you can give.

To clarify, your situation is not where there is some mouse event on the IMG element that:

  1. causes the server to handle the event and generate an new image
  2. loads a new image and new data describing the objects in the image
    Right?

(I assume everything is working fine if the user does click on the image, for example.)

Instead, if I understand you correctly, the situation is that you are somehow making changes to your GoDocument or GoView on the server without having gone through the functions that we provide in GoWeb.js that are associated with the IMG element on the client.

If that is the case, you can call the goReload function, defined in GoWeb.js. Something like:

goReload(goFindImg("MyView"), "");

OK. I got past the hurdle of the image not clearing.

At the beginning of my code to create a chart I had this statement.
GoView1.Document.Clear();

If I replace it with
GoView1.GetSessionViewsTable().Clear();

the old chart is cleared, and the new chart appears in the page, as it should, in response to the TreeNode’s click event.

Now that I have this simplest case working (apparently), I will start, again, trying to get the AJAX UpdatePanel functionality working.

…not sure if this is the best way to handle this but, it seems to be working.

Thanks for your input.
Have a great weekend.