Hi,
I am using a RadPanel bar with three panel items. I want to load the controls dynamically in each panel item depends on the panel item expanded. I have using the client side event "onclientitemexpand" to generate the postback. In the client side function first i have used the __doPostBack function to initiate the postback. When I am using __doPostBack the page will be refreshed so i move to the following ajaxrequest function "$find("<%=ajaxmanager1.ClientID%>").ajaxRequest("PanelItem");. But nothing will happened that is the page is not postbacked. I attach the code below.
Looking forward your reply.
Kind regards,
Velkumar.
I am using a RadPanel bar with three panel items. I want to load the controls dynamically in each panel item depends on the panel item expanded. I have using the client side event "onclientitemexpand" to generate the postback. In the client side function first i have used the __doPostBack function to initiate the postback. When I am using __doPostBack the page will be refreshed so i move to the following ajaxrequest function "$find("<%=ajaxmanager1.ClientID%>").ajaxRequest("PanelItem");. But nothing will happened that is the page is not postbacked. I attach the code below.
C#using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using Telerik.Web.UI;using System.Web.UI.WebControls;public partial class RadPanelDemo : System.Web.UI.Page{ protected void Page_Load(object sender, EventArgs e) { CustomContentTemplate1 template1= new CustomContentTemplate1(); CustomContentTemplate2 template2 = new CustomContentTemplate2(); if (IsPostBack) { lblpost.Text = "OnPostBack"; } foreach (RadPanelItem item in RadPanelBar1.Items) { if (IsPostBack) { Response.Write("post"); item.ContentTemplate = new CustomContentTemplate2(); template2.InstantiateIn(item); item.DataBind(); } else { Response.Write("load"); item.ContentTemplate = new CustomContentTemplate1(); template1.InstantiateIn(item); item.DataBind(); } } ajaxmanager1.AjaxRequest += new RadAjaxControl.AjaxRequestDelegate(ajaxmanager1_AjaxRequest); } void ajaxmanager1_AjaxRequest(object sender, AjaxRequestEventArgs e) { Response.Write(e.Argument); }}class CustomContentTemplate1 : ITemplate{ public void InstantiateIn(Control container) { Label label1 = new Label(); label1.Font.Bold = true; label1.DataBinding += new EventHandler(label1_DataBinding); container.Controls.Add(label1); } private void label1_DataBinding(object sender, EventArgs e) { Label target = (Label)sender; RadPanelItem item = (RadPanelItem)target.BindingContainer; target.Text ="load"; //Alternative way: //string itemText = (string)DataBinder.Eval(item, "Value"); target.Text = itemText; }}class CustomContentTemplate2 : ITemplate{ public void InstantiateIn(Control container) { Label label1 = new Label(); label1.Font.Bold = true; label1.DataBinding += new EventHandler(label1_DataBinding); container.Controls.Add(label1); } private void label1_DataBinding(object sender, EventArgs e) { Label target = (Label)sender; RadPanelItem item = (RadPanelItem)target.BindingContainer; target.Text = "post"; //Alternative way: //string itemText = (string)DataBinder.Eval(item, "Value"); target.Text = itemText; }}class CustomContentTemplate3 : ITemplate{ public void InstantiateIn(Control container) { Label label1 = new Label(); label1.Font.Bold = true; label1.DataBinding += new EventHandler(label1_DataBinding); container.Controls.Add(label1); } private void label1_DataBinding(object sender, EventArgs e) { Label target = (Label)sender; RadPanelItem item = (RadPanelItem)target.BindingContainer; target.Text = item.Value; //Alternative way: //string itemText = (string)DataBinder.Eval(item, "Value"); target.Text = itemText; }}ASPX<%@ Page Language="C#" AutoEventWireup="true" CodeFile="RadPanelDemo.aspx.cs" Inherits="RadPanelDemo" %><%@ Register assembly="Telerik.Web.UI" namespace="Telerik.Web.UI" tagprefix="telerik" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"> <title></title> <telerik:RadCodeBlock ID="RadCodeBlock1" runat="server"> <script type="text/javascript" language="javascript"> function OnClientItemExpand(sender, args) { $find("<%=ajaxmanager1.ClientID%>").ajaxRequest("arguments"); } </script> </telerik:RadCodeBlock> </head><body> <form id="form1" runat="server"> <telerik:RadAjaxManager ID="ajaxmanager1" runat="server" EnableAJAX="true" > <AjaxSettings > <telerik:AjaxSetting AjaxControlID="RadPanelBar1" > <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="RadPanelBar1" /> </UpdatedControls> </telerik:AjaxSetting> </AjaxSettings></telerik:RadAjaxManager> <div> <telerik:RadScriptManager ID="RadScriptManager1" Runat="server"> </telerik:RadScriptManager> <table width="100%"> <tr style="width:100%"> <td style="width:100%"> <%-- <telerik:RadAjaxPanel ID="panel1" runat="server" EnableAJAX="true" >--%> <telerik:RadPanelBar ID="RadPanelBar1" onclientitemexpand="OnClientItemExpand" ExpandMode="FullExpandedItem" Width="100%" runat="server"> <Items> <telerik:RadPanelItem runat="server" Text="Root RadPanelItem1" PostBack="true" Value="A"> </telerik:RadPanelItem> <telerik:RadPanelItem runat="server" Text="Root RadPanelItem2" Value="B"> </telerik:RadPanelItem> <telerik:RadPanelItem runat="server" Text="Root RadPanelItem3" Value="C"> </telerik:RadPanelItem> </Items> </telerik:RadPanelBar> <%-- </telerik:RadAjaxPanel>--%> </td> </tr> <tr> <td> <asp:Button ID="post" Text="PostBack" runat="server" /> </td> </tr> <tr> <td> <asp:Label ID="lblpost" Text="Load" runat="server"></asp:Label> </td> </tr> </table> </div> </form></body></html>Looking forward your reply.
Kind regards,
Velkumar.