Indeed, SharePoint used to have issues while loading scripts dynamically upon Ajax request.
However this was fixed within the Microsoft Office 2010 October cumulative update.
In case you haven't applied this update, I am suggesting you register the RadScheduler scripts from code-behind at CreateChildControls event of the WebPart:
[ToolboxItemAttribute(
false
)]
public
class
Test2RS : WebPart
{
// Visual Studio might automatically update this path when you change the Visual Web Part project item.
private
const
string
_ascxPath = @
"~/_CONTROLTEMPLATES/TabStripGrid/Test2/Test2UserControl.ascx"
;
protected
override
void
CreateChildControls()
{
Control control = Page.LoadControl(_ascxPath);
Controls.Add(control);
RegisterScripts();
}
protected
virtual
void
RegisterScripts()
{
string
assemblyFullName = System.Reflection.Assembly.GetAssembly(
typeof
(RadScheduler)).FullName;
ScriptManager scriptManager = ScriptManager.GetCurrent(Page);
if
(scriptManager !=
null
)
{
scriptManager.Scripts.Add(
new
ScriptReference() { Assembly = assemblyFullName, Name =
"Telerik.Web.UI.Common.Core.js"
});
scriptManager.Scripts.Add(
new
ScriptReference() { Assembly = assemblyFullName, Name =
"Telerik.Web.UI.Common.jQuery.js"
});
scriptManager.Scripts.Add(
new
ScriptReference() { Assembly = assemblyFullName, Name =
"Telerik.Web.UI.Common.jQueryPlugins.js"
});
scriptManager.Scripts.Add(
new
ScriptReference() { Assembly = assemblyFullName, Name =
"Telerik.Web.UI.Common.Popup.PopupScripts.js"
});
scriptManager.Scripts.Add(
new
ScriptReference() { Assembly = assemblyFullName, Name =
"Telerik.Web.UI.Common.Navigation.NavigationScripts.js"
});
scriptManager.Scripts.Add(
new
ScriptReference() { Assembly = assemblyFullName, Name =
"Telerik.Web.UI.Common.TouchScrollExtender.js"
});
scriptManager.Scripts.Add(
new
ScriptReference() { Assembly = assemblyFullName, Name =
"Telerik.Web.UI.Scheduler.ClientRendering.ClientRendering.js"
});
scriptManager.Scripts.Add(
new
ScriptReference() { Assembly = assemblyFullName, Name =
"Telerik.Web.UI.Scheduler.ClientRendering.BlockCollection.js"
});
scriptManager.Scripts.Add(
new
ScriptReference() { Assembly = assemblyFullName, Name =
"Telerik.Web.UI.Scheduler.ClientRendering.HorizontalBlockCollection.js"
});
scriptManager.Scripts.Add(
new
ScriptReference() { Assembly = assemblyFullName, Name =
"Telerik.Web.UI.Scheduler.ClientRendering.RenderingManager.js"
});
scriptManager.Scripts.Add(
new
ScriptReference() { Assembly = assemblyFullName, Name =
"Telerik.Web.UI.Scheduler.ClientRendering.ResourceStyleMapping.js"
});
scriptManager.Scripts.Add(
new
ScriptReference() { Assembly = assemblyFullName, Name =
"Telerik.Web.UI.Scheduler.ClientRendering.ResourceStyleMappingCollection.js"
});
scriptManager.Scripts.Add(
new
ScriptReference() { Assembly = assemblyFullName, Name =
"Telerik.Web.UI.Menu.RadMenuScripts.js"
});
scriptManager.Scripts.Add(
new
ScriptReference() { Assembly = assemblyFullName, Name =
"Telerik.Web.UI.Menu.ContextMenu.RadContextMenuScripts.js"
});
scriptManager.Scripts.Add(
new
ScriptReference() { Assembly = assemblyFullName, Name =
"Telerik.Web.UI.Input.TextBox.RadInputScript.js"
});
scriptManager.Scripts.Add(
new
ScriptReference() { Assembly = assemblyFullName, Name =
"Telerik.Web.UI.Input.DateInput.RadDateInputScript.js"
});
scriptManager.Scripts.Add(
new
ScriptReference() { Assembly = assemblyFullName, Name =
"Telerik.Web.UI.Input.InputManager.RadInputManagerScript.js"
});
scriptManager.Scripts.Add(
new
ScriptReference() { Assembly = assemblyFullName, Name =
"Telerik.Web.UI.Input.MaskedTextBox.RadMaskedInputScript.js"
});
scriptManager.Scripts.Add(
new
ScriptReference() { Assembly = assemblyFullName, Name =
"Telerik.Web.UI.Input.NumericTextBox.RadNumericInputScript.js"
});
scriptManager.Scripts.Add(
new
ScriptReference() { Assembly = assemblyFullName, Name =
"Telerik.Web.UI.Calendar.RadTimeViewScripts.js"
});
scriptManager.Scripts.Add(
new
ScriptReference() { Assembly = assemblyFullName, Name =
"Telerik.Web.UI.Calendar.RadCalendarCommonScript.js"
});
scriptManager.Scripts.Add(
new
ScriptReference() { Assembly = assemblyFullName, Name =
"Telerik.Web.UI.Calendar.RadCalendarScript.js"
});
scriptManager.Scripts.Add(
new
ScriptReference() { Assembly = assemblyFullName, Name =
"Telerik.Web.UI.Calendar.RadPickersPopupDirectionEnumeration.js"
});
scriptManager.Scripts.Add(
new
ScriptReference() { Assembly = assemblyFullName, Name =
"Telerik.Web.UI.Calendar.RadDatePicker.js"
});
scriptManager.Scripts.Add(
new
ScriptReference() { Assembly = assemblyFullName, Name =
"Telerik.Web.UI.Calendar.RadDateTimePickerScript.js"
});
scriptManager.Scripts.Add(
new
ScriptReference() { Assembly = assemblyFullName, Name =
"Telerik.Web.UI.Calendar.RadTimeViewScripts.js"
});
scriptManager.Scripts.Add(
new
ScriptReference() { Assembly = assemblyFullName, Name =
"Telerik.Web.UI.ComboBox.RadComboBoxScripts.js"
});
scriptManager.Scripts.Add(
new
ScriptReference() { Assembly = assemblyFullName, Name =
"Telerik.Web.UI.Scheduler.Helpers.DateTime.js"
});
scriptManager.Scripts.Add(
new
ScriptReference() { Assembly = assemblyFullName, Name =
"Telerik.Web.UI.Scheduler.RadSchedulerScripts.js"
});
scriptManager.Scripts.Add(
new
ScriptReference() { Assembly = assemblyFullName, Name =
"Telerik.Web.UI.Scheduler.RecurrenceEditor.RecurrenceEditor.js"
});
scriptManager.Scripts.Add(
new
ScriptReference() { Assembly = assemblyFullName, Name =
"Telerik.Web.UI.Scheduler.ContextMenu.Plugin.js"
});
scriptManager.Scripts.Add(
new
ScriptReference() { Assembly = assemblyFullName, Name =
"Telerik.Web.UI.Scheduler.Views.Week.Model.js"
});
scriptManager.Scripts.Add(
new
ScriptReference() { Assembly = assemblyFullName, Name =
"Telerik.Web.UI.Scheduler.Views.Week.GroupedByResource.Model.js"
});
scriptManager.Scripts.Add(
new
ScriptReference() { Assembly = assemblyFullName, Name =
"Telerik.Web.UI.Scheduler.Views.Week.GroupedByDate.Model.js"
});
scriptManager.Scripts.Add(
new
ScriptReference() { Assembly = assemblyFullName, Name =
"Telerik.Web.UI.Scheduler.Views.MultiDay.Model.js"
});
scriptManager.Scripts.Add(
new
ScriptReference() { Assembly = assemblyFullName, Name =
"Telerik.Web.UI.Scheduler.Views.MultiDay.GroupedByResource.Model.js"
});
scriptManager.Scripts.Add(
new
ScriptReference() { Assembly = assemblyFullName, Name =
"Telerik.Web.UI.Scheduler.Views.MultiDay.GroupedByResource.Model.js"
});
scriptManager.Scripts.Add(
new
ScriptReference() { Assembly = assemblyFullName, Name =
"Telerik.Web.UI.Scheduler.Views.Day.Model.js"
});
scriptManager.Scripts.Add(
new
ScriptReference() { Assembly = assemblyFullName, Name =
"Telerik.Web.UI.Scheduler.Views.Day.GroupedByResource.Model.js"
});
scriptManager.Scripts.Add(
new
ScriptReference() { Assembly = assemblyFullName, Name =
"Telerik.Web.UI.Scheduler.Views.Month.Model.js"
});
scriptManager.Scripts.Add(
new
ScriptReference() { Assembly = assemblyFullName, Name =
"Telerik.Web.UI.Scheduler.Views.Month.GroupedByResource.Model.js"
});
scriptManager.Scripts.Add(
new
ScriptReference() { Assembly = assemblyFullName, Name =
"Telerik.Web.UI.Scheduler.Views.Month.GroupedByDate.Model.js"
});
scriptManager.Scripts.Add(
new
ScriptReference() { Assembly = assemblyFullName, Name =
"Telerik.Web.UI.Scheduler.Views.Timeline.Model.js"
});
scriptManager.Scripts.Add(
new
ScriptReference() { Assembly = assemblyFullName, Name =
"Telerik.Web.UI.Scheduler.Views.Timeline.GroupedByResource.Model.js"
});
scriptManager.Scripts.Add(
new
ScriptReference() { Assembly = assemblyFullName, Name =
"Telerik.Web.UI.Scheduler.Views.Timeline.GroupedByDate.Model.js"
});
scriptManager.Scripts.Add(
new
ScriptReference() { Assembly = assemblyFullName, Name =
"Telerik.Web.UI.Scheduler.Scheduling.AdvancedTemplate.js"
});
}
}
}
The attached sample is based on the project that you have sent within a support ticket.