I have created a custom control which includes a RadScheduler as one of its child controls. I exposed the AdvancedEditTemplate and AdvancedInsertTemplate properties of the RadScheduler in my custom control as shown in the example below.
Imports Telerik.Web.UI | |
Public NotInheritable Class CustomScheduler | |
Inherits CompositeControl | |
Private WithEvents mScheduler As RadScheduler | |
<TemplateContainer(GetType(BTAppointmentScheduler)), _ | |
PersistenceMode(PersistenceMode.InnerProperty)> _ | |
Public Property AppointmentFormTemplate() As ITemplate | |
Get | |
EnsureChildControls() | |
Return mScheduler.AdvancedEditTemplate | |
End Get | |
Set(ByVal value As ITemplate) | |
EnsureChildControls() | |
mScheduler.AdvancedEditTemplate = value | |
mScheduler.AdvancedInsertTemplate = value | |
End Set | |
End Property | |
Protected Overrides Sub CreateChildControls() | |
Controls.Clear() | |
mScheduler = New RadScheduler() | |
Controls.Add(mScheduler) | |
End Sub | |
Protected Overrides Sub Render(ByVal writer As HtmlTextWriter) | |
mScheduler.RenderControl(writer) | |
End Sub | |
End Class |
Then I setup my aspx page similiar to the example below.
<my:CustomScheduler ID="CustomScheduler1" runat="server"> | |
<AppointmentFormTemplate> | |
<asp:TextBox ID="SubjectTextBox" runat="server" Rows="5" Columns="20" Text='<%# Bind("Subject") %>' Width="95%" TextMode="MultiLine"></asp:TextBox> | |
... | |
</AppointmentFormTemplate> | |
</my:CustomScheduler> |
Whenever, I try to create an appointment I get the following exception:
Unable to cast object of type 'System.Web.UI.CompiledTemplateBuilder' to type 'System.Web.UI.IBindableTemplate'.
atTelerik.Web.UI.RadScheduler.CreateFormContainer()
atTelerik.Web.UI.RadScheduler.CreateChildControls(BooleanbindFromDataSource)
atTelerik.Web.UI.RadScheduler.CreateChildControls()
atSystem.Web.UI.Control.EnsureChildControls()
atSystem.Web.UI.Control.PreRenderRecursiveInternal()
atSystem.Web.UI.Control.PreRenderRecursiveInternal()
atSystem.Web.UI.Control.PreRenderRecursiveInternal()
atSystem.Web.UI.Control.PreRenderRecursiveInternal()
atSystem.Web.UI.Control.PreRenderRecursiveInternal()
atSystem.Web.UI.Control.PreRenderRecursiveInternal()
atSystem.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint,Boolean includeStagesAfterAsyncPoint)
atTelerik.Web.UI.RadScheduler.CreateChildControls(BooleanbindFromDataSource)
atTelerik.Web.UI.RadScheduler.CreateChildControls()
atSystem.Web.UI.Control.EnsureChildControls()
atSystem.Web.UI.Control.PreRenderRecursiveInternal()
atSystem.Web.UI.Control.PreRenderRecursiveInternal()
atSystem.Web.UI.Control.PreRenderRecursiveInternal()
atSystem.Web.UI.Control.PreRenderRecursiveInternal()
atSystem.Web.UI.Control.PreRenderRecursiveInternal()
atSystem.Web.UI.Control.PreRenderRecursiveInternal()
atSystem.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint,Boolean includeStagesAfterAsyncPoint)
What am I doing wrong?