This is a migrated thread and some comments may be shown as answers.

RadDatePicker with HtmlTextWriter

1 Answer 97 Views
General Discussions
This is a migrated thread and some comments may be shown as answers.
Abhi Shinde
Top achievements
Rank 1
Abhi Shinde asked on 25 Nov 2011, 07:55 AM
Hi,

Problem about : "RadDatePicker" 
I am trying to create a html table with "RadDatePicker" dynamically(in code behind) and tried to pass that HTML table as string to jquery.

Its working fine for ASP controls but whenever I tried to add "RadDatePicker" it is giving error.
My code -
[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;
            }
        }

At " tab.RenderControl(hw);" this line it is throwing an following error-

{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);"}

Is there any other way to get html text of RadControls?
Please guide me.

Regards,
Abhi

1 Answer, 1 is accepted

Sort by
0
Antonio Stoilkov
Telerik team
answered on 25 Nov 2011, 03:51 PM
Hi Abhi,

Your scenario is not supported. Returning only the html won't load the skins and the rest of the necessary resources, will not create the client-side object of the control, which is of high importance, too. You could try using ajax to dynamically load the needed controls.

Best wishes,
Antonio Stoilkov
the Telerik team
If you want to get updates on new releases, tips and tricks and sneak peeks at our product labs directly from the developers working on the RadControls for ASP.NET AJAX, subscribe to their blog feed now
Tags
General Discussions
Asked by
Abhi Shinde
Top achievements
Rank 1
Answers by
Antonio Stoilkov
Telerik team
Share this question
or