Hello everyone.
I'm using a Window on my page that has a Rotator in it. The Rotator is bound to a LINQ data set. It worked fine,
but then I tried to put an AJAX Loading Panel to show a "loading" image while the rotator is bound and I get the following error:
The Controls collection cannot be modified because the control contains code blocks (i.e. <% ... %>).
I tried using a RadCodeBlock without luck.
Here is my code:
(Main .aspx page)
<telerik:RadScriptBlock ID="RadScriptBlock1" runat="server">
<script type="text/javascript">
//<![CDATA[
function openWin()
{
var oWnd = radopen("SCARLog.aspx", "RadWindow1");
}
//]]>
</script>
</telerik:RadScriptBlock>
<telerik:RadWindowManager ID="RadWindowManager1" ShowContentDuringLoad="false" VisibleStatusbar="false"
ReloadOnShow="true" runat="server" Skin="Hay" EnableShadow="true">
<Windows>
<telerik:RadWindow ID="RadWindow1" runat="server" Behaviors="Close" NavigateUrl="Log.aspx">
</telerik:RadWindow>
</Windows>
</telerik:RadWindowManager>
(.aspx window page)
<body height="100%" scroll="no" style="overflow:hidden;" scrooltop="oTop" >
<form>
<title>Detail Log</title>
<telerik:RadScriptManager ID="RadScriptManager1" runat="server" ></telerik:RadScriptManager>
<telerik:RadAjaxManager ID="RadAjaxManager1" runat="server">
<AjaxSettings>
<telerik:AjaxSetting AjaxControlID="Panel1">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="Panel1" LoadingPanelID="RadAjaxLoadingPanel1" />
</UpdatedControls>
</telerik:AjaxSetting>
</AjaxSettings>
</telerik:RadAjaxManager>
<telerik:RadFormDecorator ID="RadFormDecorator1" DecoratedControls="All" runat="server" Skin="Hay" />
<asp:Panel ID="Panel1" runat="server" HorizontalAlign="Center" Height="275px">
<telerik:RadRotator ID="Rotator" runat="server" Skin="Hay" ScrollDirection="Up"
RotatorType="AutomaticAdvance" FrameDuration="3000" Width="300px" ItemWidth="302px" Height="100px" ItemHeight="100px">
<ItemTemplate>
<div style="text-align:center">
<telerik:RadCodeBlock ID="RadCodeBlock1" runat="server">
<asp:Label ID="lblDate" runat="server">Date: <%# DataBinder.Eval(Container.DataItem,"DateChanged") %></asp:Label>
</telerik:RadCodeBlock>
</div>
<div style="text-align:center">
<asp:Label ID="Label2" runat="server">User ID: </asp:Label>
<telerik:RadCodeBlock ID="RadCodeBlock2" runat="server">
<asp:Label ID="lblUser" runat="server"><%# DataBinder.Eval(Container.DataItem, "UserID")%></asp:Label>
</telerik:RadCodeBlock>
</div>
<div style="text-align:center">
<asp:Label ID="Label3" runat="server">From status: </asp:Label>
<telerik:RadCodeBlock ID="RadCodeBlock3" runat="server">
<asp:Label ID="lblFrom" runat="server"><%# DataBinder.Eval(Container.DataItem, "FromStatus")%></asp:Label>
</telerik:RadCodeBlock>
</div>
<div style="text-align:center">
<asp:Label ID="Label4" runat="server">To status: </asp:Label>
<telerik:RadCodeBlock ID="RadCodeBlock4" runat="server">
<asp:Label ID="lblTo" runat="server"><%# DataBinder.Eval(Container.DataItem, "ToStatus")%></asp:Label>
</telerik:RadCodeBlock>
</div>
</ItemTemplate>
</telerik:RadRotator>
</asp:Panel>
<telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server" BackgroundPosition="Center" EnableSkinTransparency="true">
<asp:Image id="Image1" runat="server" ImageUrl="~/images/Loading.gif" ></asp:Image>
</telerik:RadAjaxLoadingPanel>
</form>
</body>
(.aspx.cs code)
if (!this.IsPostBack)
{
System.Threading.Thread.Sleep(1000);
Int32 Snum = Convert.ToInt32(Session["IDNumber"].ToString());
using (Entity db = new Entity())
{
var data = from L in db.Log
where L.IDNumber == Snum
orderby L.DateChanged
select new
{
L.DateChanged,
L.FromStatus,
L.ToStatus,
L.UserID,
};
Rotator.DataSource = data;
Rotator.DataBind();
}
}