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

[Solved] RadDatePicker render html error

5 Answers 155 Views
Calendar
This is a migrated thread and some comments may be shown as answers.
Himali
Top achievements
Rank 1
Himali asked on 09 Feb 2009, 03:03 PM
Hi,

I am trying to dynamically add asp.net controls and RadDatePicker control to a placeholder placed on my usercontrol which in turn is placed on an ASP.Net web page. I am then using PlaceHolder.RenderControl method to create HTML which I would inject in my asp.net page using jquery.

 

The code that I am using is -

RadDatePicker
datePickerControl = new RadDatePicker();

 datePickerControl.SelectedDate =

DateTime.Now;

 

 

 

datePickerControl.ImagesPath = Constants.CustomSkin.DatePickerImagePath;

 

 

myPlaceholder

.Controls.Add(datePickerControl);

 

 

System.Text.

StringBuilder sb = new System.Text.StringBuilder();

 

System.IO.

TextWriter tw = new System.IO.StringWriter(sb);

 

System.Web.UI.

HtmlTextWriter htmlText = new System.Web.UI.HtmlTextWriter(tw);

 

myPlaceholder.RenderControl(htmlText);

 

htmlText.InnerWriter.ToString();

 

 

However, I get following exception when RadDatePicker is added to placeholder and then I try to render HTML. (It works fine with other asp.net controls)

base {System.Exception} = {"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.HtmlControls.HtmlContainerControl.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.HtmlControls.HtmlTableRow.RenderChildren(HtmlTextWriter writer)
   at System.Web.UI.HtmlControls.HtmlContainerControl.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.HtmlControls.HtmlTable.RenderChildren(HtmlTextWriter writer)
   at System.Web.UI.HtmlControls.HtmlContainerControl.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.Control.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)

Can you please let me know where I am going wrong?

Thank you.

Regards,
Himali Singh

5 Answers, 1 is accepted

Sort by
0
Vlad
Telerik team
answered on 10 Feb 2009, 02:59 PM
Hello Himali,

You will need to add this picker to a Page if you want to avoid such errors.

Best wishes,
Vlad
the Telerik team

Check out Telerik Trainer, the state of the art learning tool for Telerik products.
0
Anna
Top achievements
Rank 1
answered on 06 Apr 2009, 07:02 AM
I am getting exact same error with the same control but we are using ASP.NET MVC.  Could you please tell how can I dynamically add the control to the page without breaking the entire MVC pardigm?  Thank you in advance.
0
Sebastian
Telerik team
answered on 06 Apr 2009, 08:49 AM
Hello Anna,

I think that the information from the following resources will help you achieve your goal:

http://blogs.telerik.com/atanaskorchev/posts/09-04-01/ASP_NET_Ajax_Controls_in_ASP_NET_MVC_-_MVC_Forum_Updated.aspx

http://www.telerik.com/help/aspnet-ajax/radcontrols-for-aspnet-mvc-overview.html

Best,
Sebastian
the Telerik team

Check out Telerik Trainer , the state of the art learning tool for Telerik products.
0
Anna
Top achievements
Rank 1
answered on 07 Apr 2009, 12:11 AM
Thank you Sebastian for such a prompt response.  I carefully looked through your links and all the forums but could not find the solution to my problem.  All the scenarios I found either had a Rad control hardcoded on the page or used Page_Load (I cannot do that in MVC), or had some other error, not the "Object reference not set to an instance of an object".

Essentially I have to create a partial view dynamically.  I have a working mechanism of identifying which controls I need to add (these change depending on some previous user selections).   After that  I call RenderControl for each identified control.  They all work finr except Rad controls,  in particularly RadDatePicker.  It throws an exception on the RenderControl call.

I found a somewhat similar scenario in one of the forum threads but there a person was complaining that the control appears on the screen but lacks styling and does not work as expected.  In my case I can't even get it appear on the screen.

I will highly appreciate if you could help me with this one. I am really stuck :-( 
0
Rosen
Telerik team
answered on 09 Apr 2009, 04:19 PM
Hi Anna,

Can you please share some code snippets of your implementation? Also please ensure that the RadDatePicker is added to the Page's controls collection before the call to RenderControl.

Greetings,
Rosen
the Telerik team

Check out Telerik Trainer , the state of the art learning tool for Telerik products.
Tags
Calendar
Asked by
Himali
Top achievements
Rank 1
Answers by
Vlad
Telerik team
Anna
Top achievements
Rank 1
Sebastian
Telerik team
Rosen
Telerik team
Share this question
or