or
[System.Web.Services.WebMethod] public static string txtNoOfInstallment_OnTextChanged(int noOfInstallments) { try { Table tab = new Table(); for (int i = 1; i <= noOfInstallments; i++) { TableRow tr = new TableRow(); TableCell td1 = new TableCell(); TableCell td2 = new TableCell(); TableCell td3 = new TableCell(); TableCell td4 = new TableCell(); Label lblAmt = new Label(); lblAmt.Text = "Installment" + " " + i; TextBox txtAmount = new TextBox(); txtAmount.ID = "txtAmount" + i; Label lblDate = new Label(); lblDate.Text = "Due date"; RadDatePicker dtPickerIstallmentDate = new RadDatePicker(); dtPickerIstallmentDate.ID = "dtPickerIstallmentDate" + i; td1.Controls.Add(lblAmt); td2.Controls.Add(txtAmount); td3.Controls.Add(lblDate); td4.Controls.Add(dtPickerIstallmentDate); tr.Cells.Add(td1); tr.Cells.Add(td2); tr.Cells.Add(td3); tr.Cells.Add(td4); tab.Rows.Add(tr); } System.Text.StringBuilder sb = new System.Text.StringBuilder(); System.IO.StringWriter tw = new System.IO.StringWriter(sb); HtmlTextWriter hw = new HtmlTextWriter(tw); tab.RenderControl(hw); return sb.ToString(); } catch(Exception ex) { return ex.Message; } }{System.NullReferenceException: Object reference not set to an instance of an object. at Telerik.Web.UI.DatePickingInput.RenderBeginTag(HtmlTextWriter writer) at System.Web.UI.WebControls.WebControl.Render(HtmlTextWriter writer) at Telerik.Web.UI.RadWebControl.Render(HtmlTextWriter writer) at System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) at System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) at System.Web.UI.Control.RenderControl(HtmlTextWriter writer) at Telerik.Web.UI.RadDatePicker.AddControlComponents(HtmlTextWriter writer) at Telerik.Web.UI.RadDatePicker.RenderChildren(HtmlTextWriter writer) at System.Web.UI.WebControls.WebControl.RenderContents(HtmlTextWriter writer) at Telerik.Web.UI.RadWebControl.RenderContents(HtmlTextWriter writer) at Telerik.Web.UI.RadDatePicker.RenderContents(HtmlTextWriter writer) at System.Web.UI.WebControls.WebControl.Render(HtmlTextWriter writer) at Telerik.Web.UI.RadWebControl.Render(HtmlTextWriter writer) at Telerik.Web.UI.RadDatePicker.Render(HtmlTextWriter writer) at System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) at System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) at System.Web.UI.Control.RenderControl(HtmlTextWriter writer) at System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) at System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) at System.Web.UI.WebControls.TableCell.RenderContents(HtmlTextWriter writer) at System.Web.UI.WebControls.WebControl.Render(HtmlTextWriter writer) at System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) at System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) at System.Web.UI.Control.RenderControl(HtmlTextWriter writer) at System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) at System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) at System.Web.UI.WebControls.WebControl.RenderContents(HtmlTextWriter writer) at System.Web.UI.WebControls.WebControl.Render(HtmlTextWriter writer) at System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) at System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) at System.Web.UI.Control.RenderControl(HtmlTextWriter writer) at System.Web.UI.WebControls.Table.RenderContents(HtmlTextWriter writer) at System.Web.UI.WebControls.WebControl.Render(HtmlTextWriter writer) at System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) at System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) at System.Web.UI.Control.RenderControl(HtmlTextWriter writer) at pagename.txtNoOfInstallment_OnTextChanged1(Object sender, EventArgs e) in path/pagename.aspx.cs:line "tab.RenderControl(hw);"}
//Master Page Code Behind
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class MasterPage : System.Web.UI.MasterPage
{
protected void Page_Load(object sender, EventArgs e)
{
}
}
//Web Page Code Behind
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using Telerik.Web.UI;
public partial class HierarchyRadGrd : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
}
myHomeContent.Controls.Add(GetBandRadDock(2, 3, "Plan Details"));
if (ScriptManager.GetCurrent(this).IsInAsyncPostBack)
{
string controlPath = string.Empty;
string sourceid = "";
try
{
if (ScriptManager.GetCurrent(this).AsyncPostBackSourceElementID.Contains("$"))
sourceid = ScriptManager.GetCurrent(this).AsyncPostBackSourceElementID.Split('$')[2];
else
sourceid = ScriptManager.GetCurrent(this).AsyncPostBackSourceElementID.Split('_')[2];
controlPath = "UserControlRadGrid.ascx";
LoadUserControl(sourceid);
}
catch (IndexOutOfRangeException ExoutOf)
{
}
}
}
protected void LoadUserControl(string _BandId)
{
string SourceString = "";
string updateControl = "";
if (ScriptManager.GetCurrent(this).AsyncPostBackSourceElementID.Contains("$"))
SourceString = ScriptManager.GetCurrent(this).AsyncPostBackSourceElementID;
else
SourceString = ScriptManager.GetCurrent(this).AsyncPostBackSourceElementID;
string IdVal = SourceString;
string ajpCtrl = "UpdatePanel3";
string _sActualPath = SourceString;
AddControl(_sActualPath, ajpCtrl, "UserControlRadGrid.ascx", _BandId);
}
protected void AddControl(string sourcedock, string ajaxp, string path, string _sBandId)
{
RadDock SourceDock = this.FindControl(sourcedock) as RadDock;
UpdatePanel SourcePanel = (UpdatePanel)SourceDock.ContentContainer.FindControl(ajaxp);
SourcePanel.ContentTemplateContainer.Controls.Clear();
UserControl mycon = (UserControl)LoadControl(path);
mycon.ID = "DC" + _sBandId;
switch (_sBandId)
{
case "3":
((UserControlRadGrid)mycon)._ShowBand = false;
break;
}
SourcePanel.ContentTemplateContainer.Controls.Add(mycon);
}
private RadDock GetBandRadDock(int Sequence, int _iBandId, string _sBandTitle)
{
RadDock _radDock = new RadDock();
_radDock.CommandsAutoPostBack = true;
_radDock.DockMode = DockMode.Docked;
_radDock.DefaultCommands = Telerik.Web.UI.Dock.DefaultCommands.ExpandCollapse;
_radDock.Command += new DockCommandEventHandler(_radDock_Command);
_radDock.OnClientCommand = "OnDockExpand";
_radDock.ForbiddenZones = new string[] { "DockZone" };
_radDock.DockMode = DockMode.Default;
_radDock.Collapsed = true;
_radDock.ExpandText = "Loading...";
_radDock.EnableAnimation = true;
_radDock.Title = _sBandTitle;
_radDock.Font.Bold = true;
_radDock.ID = _iBandId.ToString();
UpdatePanel uPanel = new UpdatePanel();
uPanel.ID = "UpdatePanel" + _iBandId.ToString();
uPanel.UpdateMode = UpdatePanelUpdateMode.Conditional;
uPanel.RenderMode = UpdatePanelRenderMode.Inline;
AsyncPostBackTrigger oTrigger = new AsyncPostBackTrigger();
oTrigger.ControlID = _radDock.ID;
uPanel.Triggers.Add(oTrigger);
Label oLabel = new Label();
oLabel.Text = "Loading....";
oLabel.ID = "ldng";
uPanel.ContentTemplateContainer.Controls.Add(oLabel);
_radDock.ContentContainer.Controls.Add(uPanel);
return _radDock;
}
void _radDock_Command(object sender, DockCommandEventArgs e)
{
Control _DynamicControl = new Control();
RadDock oDock = new RadDock();
oDock = sender as RadDock;
oDock.AutoPostBack = false;
oDock.CommandsAutoPostBack = false;
UpdatePanel uPanel = new UpdatePanel();
string uId = "UpdatePanel" + oDock.ID;
uPanel = (UpdatePanel)oDock.ContentContainer.FindControl(uId);
uPanel.ContentTemplateContainer.Controls.Clear();
int _iBandId = Convert.ToInt32(oDock.ID);
if (oDock.Collapsed)
{
Label oLabel = new Label();
oLabel.Text = "Loading....";
uPanel.Controls.Clear();
uPanel.Controls.Add(oLabel);
}
else
{
switch (_iBandId)
{
case 3:
_DynamicControl = LoadControl("UserControlRadGrid.ascx");
_DynamicControl.ID = "DC3";
_DynamicControl.GetType().GetProperty("ShowBand").SetValue(_DynamicControl, false, null);
break;
}
uPanel.ContentTemplateContainer.Controls.Add(_DynamicControl);
}
}
public void RaisePostBackEvent(string eventArgument) { }
}
//User Control Code Behind
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using Telerik.Web.UI;
public partial class UserControlRadGrid : System.Web.UI.UserControl
{
private SqlConnection _con;
private SqlDataAdapter _adp;
private static DataTable _dt;
public bool _ShowBand = true;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
RadGrid1.DataSource = BindData();
RadGrid1.DataBind();
}
RadGrid1.DataSource = BindData();
RadGrid1.DataBind();
}
public DataTable BindData()
{
try
{
_con = new SqlConnection(ConfigurationManager.ConnectionStrings["ShopConnectionString"].ConnectionString);
_adp = new SqlDataAdapter("SELECT * FROM Shop", _con);
_dt = new DataTable();
_adp.Fill(_dt);
}
catch (Exception e)
{
Response.Write(e.Message.ToString());
}
return _dt;
}
protected void RadGrid1_DetailTableDataBind(object source, GridDetailTableDataBindEventArgs e)
{
GridDataItem dataItem = (GridDataItem)e.DetailTableView.ParentItem;
switch (e.DetailTableView.Name)
{
case "Category":
{
string _shopId = dataItem.GetDataKeyValue("ShopID").ToString();
e.DetailTableView.DataSource = GetNextLevelCategory(_shopId);
break;
}
case "Product":
{
string _categoryID = dataItem.GetDataKeyValue("CategoryID").ToString();
e.DetailTableView.DataSource = GetNextLevelProduct(_categoryID);
break;
}
}
}
protected DataTable GetNextLevelCategory(string _shopId)
{
try
{
_con = new SqlConnection(ConfigurationManager.ConnectionStrings["ShopConnectionString"].ConnectionString);
_adp = new SqlDataAdapter("SELECT * FROM Category WHERE ShopId=" + _shopId, _con);
_dt = new DataTable();
_adp.Fill(_dt);
}
catch (Exception e)
{
Response.Write(e.Message.ToString());
}
return _dt;
}
protected DataTable GetNextLevelProduct(string _categoryID)
{
try
{
_con = new SqlConnection(ConfigurationManager.ConnectionStrings["ShopConnectionString"].ConnectionString);
_adp = new SqlDataAdapter("SELECT * FROM Products WHERE CategoryId=" + _categoryID, _con);
_dt = new DataTable();
_adp.Fill(_dt);
}
catch (Exception e)
{
Response.Write(e.Message.ToString());
}
return _dt;
}
}
<!--Master Page--><%@ Master Language="C#" AutoEventWireup="true" CodeFile="MasterPage.master.cs" Inherits="MasterPage" %><%@ 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>Untitled Page</title></head><body> <form id="form1" runat="server"> <asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true" EnableScriptGlobalization="true" AsyncPostBackTimeout="600" ScriptMode="Release"/> <div> <asp:contentplaceholder id="ContentPlaceHolder1" runat="server"> </asp:contentplaceholder> </div> </form></body></html><!--Web Page--><%@ Page Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="HierarchyRadGrd.aspx.cs" Inherits="HierarchyRadGrd" Title="Untitled Page" %><%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %><%@ Register Src="UserControlRadGrid.ascx" TagName="PlanDetailsUCSample" TagPrefix="control" %><asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server"><script type="text/javascript">function OnDockExpand(sender,args){ if(sender._collapsed == true) { args._cancel = true; } else { if(navigator.appName != "Netscape") { if(sender._contentContainer.childNodes[0].childNodes.length > 1) args.set_cancel(true); } else { if(sender._contentContainer.children[0].children.length > 1) args.set_cancel(true); } }}</script><telerik:RadDockLayout ID="dckLayout" runat="server"> <telerik:RadDockZone ID="myHomeContent" runat="server" FitDocks="true" Font-Bold="true" BorderStyle="None" Orientation="Vertical"> </telerik:RadDockZone></telerik:RadDockLayout> <center> <table cellpadding="0" cellspacing="0" width="97%"> <tr> <td> <control:plandetailsucsample id="PlanDetailsUCSample" runat="server" /> </td> </tr> </table> </center> <br /> <br /> </asp:Content><!--User Control--><%@ Control Language="C#" AutoEventWireup="true" CodeFile="UserControlRadGrid.ascx.cs" Inherits="UserControlRadGrid" %><%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %><%--<telerik:RadAjaxManager ID="RadAjaxManager1" runat="server"> <AjaxSettings> <telerik:AjaxSetting AjaxControlID="RadGrid1"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="RadGrid1" /> </UpdatedControls> </telerik:AjaxSetting> </AjaxSettings></telerik:RadAjaxManager>--%><telerik:RadGrid ID="RadGrid1" runat="server" Width="60%" AutoGenerateColumns="false" OnDetailTableDataBind="RadGrid1_DetailTableDataBind" RegisterWithScriptManager="true"> <MasterTableView DataKeyNames="ShopID"> <Columns> <telerik:GridBoundColumn HeaderText="ShopID" DataField="ShopID"> </telerik:GridBoundColumn> <telerik:GridBoundColumn HeaderText="ShopName" DataField="ShopName"> </telerik:GridBoundColumn> </Columns> <DetailTables> <telerik:GridTableView DataKeyNames="CategoryID" Name="Category"> <Columns> <telerik:GridBoundColumn HeaderText="CategoryID" DataField="CategoryID"> </telerik:GridBoundColumn> <telerik:GridBoundColumn HeaderText="CategoryName" DataField="CategoryName"> </telerik:GridBoundColumn> </Columns> <DetailTables> <telerik:GridTableView Name="Product"> <Columns> <telerik:GridBoundColumn HeaderText="ProductID" DataField="ProductID"> </telerik:GridBoundColumn> <telerik:GridBoundColumn HeaderText="ProductName" DataField="ProductName"> </telerik:GridBoundColumn> </Columns> </telerik:GridTableView> </DetailTables> </telerik:GridTableView> </DetailTables> </MasterTableView></telerik:RadGrid>if (IsDifferentFilter()){ //Load logs method is called so the datagrid will be updated Thread logsThread = new Thread(new ThreadStart(LoadLogs)); logsThread.Start(); logsThread.Join();}//else the datagrid will NOT be updated<telerik:RadAjaxManagerProxy ID="radAjaxManagerProxyLogs" runat="server" > <AjaxSettings> <telerik:AjaxSetting AjaxControlID="tmrAutoFilter"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="dgLogs" /> </UpdatedControls> </telerik:AjaxSetting> <telerik:AjaxSetting AjaxControlID="dgLogs"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="dgLogs" LoadingPanelID="ldgBar" /> </UpdatedControls> </telerik:AjaxSetting> </AjaxSettings></telerik:RadAjaxManagerProxy>