I have an "Explorer" style page with a treeview in the left pane and a detail pane on the right. I have quite a bit of functionality in the page, and it all seems to be working well, except for one scenario that I am trying to get to work.
The information in the Detail pane is created using XSLT. Some of the information is in the form of hyperlinks. I am using the onclick event of the anchor tags to trigger an event in javascript that will load the target information sent by the anchor into the detail pane. So, when the user clicks a hyperlink in the detail pane, the new page will load in the detail pane. I am using the onclick event to do this because controls created via Javascript cannot fire the server side events.
Anyway, all my code is working correctly. When the hyperlink is clicked, the javascript event fires and calls the explicitCallBack code in my example below. That code calls back to the server, and my server code calls to the database, gets the new data, and loads the new controls, all without error. But, the detail pane does not display the new data. It seems that I must expressly "refresh" the detail pane. Is that correct? And, if it is correct, how do I do that?
I will include the basic structure of the relevant part of my aspx page:
Any advice you can give would really be appreciated.
Thanks very much.
The information in the Detail pane is created using XSLT. Some of the information is in the form of hyperlinks. I am using the onclick event of the anchor tags to trigger an event in javascript that will load the target information sent by the anchor into the detail pane. So, when the user clicks a hyperlink in the detail pane, the new page will load in the detail pane. I am using the onclick event to do this because controls created via Javascript cannot fire the server side events.
Anyway, all my code is working correctly. When the hyperlink is clicked, the javascript event fires and calls the explicitCallBack code in my example below. That code calls back to the server, and my server code calls to the database, gets the new data, and loads the new controls, all without error. But, the detail pane does not display the new data. It seems that I must expressly "refresh" the detail pane. Is that correct? And, if it is correct, how do I do that?
I will include the basic structure of the relevant part of my aspx page:
<
telerik:RadCodeBlock
ID
=
"ExplorerCodeBlock"
runat
=
"server"
>
<
script
language
=
"javascript"
type
=
"text/javascript"
src
=
"scripts/editPage.js"
></
script
>
<
script
type
=
"text/javascript"
>
//
<![CDATA[
function handleHyperlink(target) {
/* ... do some processing... */
explicitCallBack(target);
}
function explicitCallBack(arg) {
var ajaxManager = $find("<%= RadAjaxManager1.ClientID %>");
ajaxManager.ajaxRequest(arg);
}
//]]>
</
script
>
</
telerik:RadCodeBlock
>
<
telerik:RadAjaxManager
ID
=
"RadAjaxManager1"
OnAjaxRequest
=
"RadAjaxManager1_AjaxRequest"
runat
=
"server"
>
<
AjaxSettings
>
<
telerik:AjaxSetting
AjaxControlID
=
"tvExplorer"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"tvExplorer"
/>
<
telerik:AjaxUpdatedControl
ControlID
=
"pnlDetailWrapper"
/>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
<
telerik:AjaxSetting
AjaxControlID
=
"pnlDetailWrapper"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"pnlDetailWrapper"
/>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
</
AjaxSettings
>
</
telerik:RadAjaxManager
>
<
telerik:RadSplitter
ID
=
"RadSplitter1"
CssClass
=
"grid_12"
Height
=
"650"
Width
=
"100%"
LiveResize
=
"true"
runat
=
"server"
>
<
telerik:RadPane
ID
=
"paneExplorer"
CssClass
=
"grid_6 alpha"
runat
=
"server"
>
<
telerik:RadTreeView
ID
=
"tvExplorer"
runat
=
"server"
TabIndex
=
"1"
AccessKey
=
"m"
OnClientNodeClicked
=
"OnClientNodeClicked"
OnClientKeyPressing
=
"OnClientKeyPressing"
OnClientNodeDataBound
=
"OnClientNodeDataBound"
OnClientContextMenuItemClicking
=
"OnClientContextMenuItemClicking"
OnContextMenuItemClick
=
"tvExplorer_ContextMenuItemClick"
OnNodeClick
=
"tvExplorer_NodeClick"
>
<
WebServiceSettings
Path
=
"DataSvcProxy.asmx"
Method
=
"GetRadTreeViewNodes"
/>
<
Nodes
>
<
telerik:RadTreeNode
runat
=
"server"
Text
=
"My Project"
Value
=
"0"
ClassID
=
"0"
PermClasses
=
"0"
ExpandMode
=
"WebService"
/>
</
Nodes
>
</
telerik:RadTreeView
>
</
telerik:RadPane
>
<
telerik:RadSplitBar
ID
=
"RadSplitBar1"
CollapseMode
=
"Forward"
runat
=
"server"
/>
<
telerik:RadPane
ID
=
"paneDetail"
CssClass
=
"grid_6 omega"
runat
=
"server"
>
<
asp:Panel
ID
=
"pnlDetailWrapper"
runat
=
"server"
>
<
asp:HiddenField
ID
=
"hdnOperationType"
runat
=
"server"
/>
<
asp:HiddenField
ID
=
"hdnOperationSource"
runat
=
"server"
/>
<
asp:Panel
ID
=
"pnlDetail"
runat
=
"server"
>
</
asp:Panel
>
</
asp:Panel
>
</
telerik:RadPane
>
</
telerik:RadSplitter
>
Thanks very much.