| <asp:ScriptManager ID="ScriptManager1" runat="server" EnablePartialRendering="true"> | |
| </asp:ScriptManager> | |
| <telerik:RadCodeBlock ID="cb" runat="server"> | |
| <script language="javascript" type="text/javascript"> | |
| window.CalendarChanged = function(calendarInstance, args) | |
| { | |
| if (args.RenderDay.IsSelected) | |
| return false; | |
| } | |
| window.GetTodaysDateSCH = function(){GetDateStamp(<%=this.txtDate.ClientID %>);} | |
| </script> | |
| </telerik:RadCodeBlock> | |
| <telerik:RadAjaxLoadingPanel ID="alp" runat="server" IsSticky="true" MinDisplayTime="0" | |
| HorizontalAlign="Center"> | |
| <asp:Image ID="Image2" runat="server" alt="loading..." ImageUrl="~/Images/Loading2.gif" /> | |
| </telerik:RadAjaxLoadingPanel> | |
| <telerik:RadAjaxPanel ID="RadAjaxPanel1" runat="server" LoadingPanelID="alp" EnableAJAX="true" | |
| EnableHistory="true" EnablePageHeadUpdate="true"> | |
| <table> | |
| <tr> | |
| <td> | |
| <asp:Label ID="title" runat="server" Text="Schedule Search: " /> | |
| <radCln:RadDatePicker ID="txtDate" runat="server" SharedCalendarID="RadCalendar1" | |
| onkeypress="GetTodaysDateSCH();" MinDate="1/1/2000" OnSelectedDateChanged="txtDate_SelectedDateChanged"> | |
| <DateInput Title="" ToolTip="Press 'd' for current date" AutoPostBack="true" UseEmbeddedScripts="false" | |
| DateFormat="MM/dd/yyyy"> | |
| </DateInput> | |
| </radCln:RadDatePicker> | |
| <radCln:RadCalendar ID="RadCalendar1" runat="server" Skin="WebBlue" UseEmbeddedScripts="false"> | |
| <ClientEvents OnDateClick="CalendarChanged" /> | |
| </radCln:RadCalendar> | |
| <asp:Button ID="cmdRefresh" runat="server" Text="Refresh" OnClick="cmdRefresh_Click" /> | |
| </td> | |
| </tr> | |
| </table> | |
| <radG:RadGrid ID="rg" runat="server" Style="width: 100%;" AutoGenerateColumns="False" | |
| AllowSorting="True" GridLines="None" OnItemDataBound="rg_ItemDataBound" OnNeedDataSource="rg_NeedDataSource"> | |
| <MasterTableView GridLines="None"> | |
| <Columns> | |
| <radG:GridBoundColumn DataField="ID" ReadOnly="True" UniqueName="ID" Visible="False"> | |
| </radG:GridBoundColumn> | |
| <radG:GridBoundColumn DataField="PatientEncounter_ID" ReadOnly="True" UniqueName="PatientEncounter_ID" | |
| Visible="False"> | |
| </radG:GridBoundColumn> | |
| <radG:GridBoundColumn HeaderText="Time" UniqueName="Time" DataField="Time"> | |
| </radG:GridBoundColumn> | |
| <radG:GridTemplateColumn HeaderText="Patient" UniqueName="patient" Groupable="False"> | |
| <ItemTemplate> | |
| <asp:HyperLink ID="hlp" runat="server" Text='<%# DataBinder.Eval( Container, "DataItem.Patient") %>'></asp:HyperLink> | |
| </ItemTemplate> | |
| </radG:GridTemplateColumn> | |
| <radG:GridBoundColumn HeaderText="Account Number" UniqueName="AccountNumber" DataField="AccountNumber"> | |
| </radG:GridBoundColumn> | |
| <radG:GridBoundColumn HeaderText="Procedure" UniqueName="ProcedureName" DataField="ProcedureName"> | |
| </radG:GridBoundColumn> | |
| <radG:GridTemplateColumn UniqueName="TemplateColumnAdditionalProcedure" Groupable="False"> | |
| <ItemTemplate> | |
| <asp:HyperLink ID="hl" runat="server" ImageUrl="~/Images/MedicalChart.gif"></asp:HyperLink> | |
| </ItemTemplate> | |
| </radG:GridTemplateColumn> | |
| </Columns> | |
| </MasterTableView> | |
| <AlternatingItemStyle BackColor="#ECECEC" /> | |
| </radG:RadGrid> | |
| </telerik:RadAjaxPanel> | |
Hi there,
I’m trying to figure out how to use Prometheus and got stuck with the problem I try to describe below.
As you can see I am instantiating two ‘BaseControl’ user controls in the page.
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<%@ Register Src="BaseControl.ascx" TagName="BaseControl" TagPrefix="uc1" %>
<%@ Register Assembly="RadAjax.Net2" Namespace="Telerik.WebControls" TagPrefix="telerik_old" %>
<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik_prometheus" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="SriptManager1" runat="server">
</asp:ScriptManager>
<telerik_old:RadAjaxManager ID="RadAjaxManager1" runat="server">
</telerik_old:RadAjaxManager>
<div>
<uc1:BaseControl ID="BaseControl1" runat="server" />
<uc1:BaseControl ID="BaseControl2" runat="server" />
</div>
</form>
</body>
</html>
The user control is as follows:
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="BaseControl.ascx.cs" Inherits="BaseControl" %>
<asp:Panel ID="OuterPanel" runat="server" Height="100px">
<asp:Panel ID="InnerPanel" Visible="false" runat="server" EnableViewState="false">
inner
</asp:Panel>
outer
</asp:Panel>
<script type="text/javascript">
function <%= this.ClientID %>_doAjaxRequest()
{
<%= AjaxManager.ClientID %>.AjaxRequestWithTarget("<%= this.UniqueID %>", "iNIT");
document.getElementById('<%= OuterPanel.ClientID %>').style.backgroundColor = '#0000ff';
}
setTimeout('<%= this.ClientID %>_doAjaxRequest()', 200);
</script>
And…
using System;
using System.Web;
using System.Web.UI;
using System.Threading;
//using Telerik.Web.UI;
using Telerik.WebControls;
public partial class BaseControl : UserControl, IPostBackEventHandler
{
protected override void CreateChildControls()
{
base.CreateChildControls();
}
protected void Page_Load(object sender, EventArgs e)
{
AjaxManager.AjaxSettings.AddAjaxSetting(this, OuterPanel, null );
AjaxManager.AjaxSettings.AddAjaxSetting(OuterPanel, OuterPanel, null);
}
public virtual void RefreshData()
{
InnerPanel.Visible = true;
Thread.Sleep(2000);
}
public void RaisePostBackEvent(string eventArgument)
{
RefreshData();
}
public RadAjaxManager AjaxManager
{
get
{
return ((RadAjaxManager)Page.FindControl("RadAjaxManager1"));
}
}
}
This works great with RadAjax – which means that the content for ‘InnerPanel’ is initally invisible and then ‘loaded’ via AjaxRequest.
The problem happens when I replace:
1)
using Telerik.WebControls;
with
using Telerik.Web.UI; (in BaseControl.ascx.cs)
2)
<telerik_old:RadAjaxManager ID="RadAjaxManager1" runat="server">
</telerik_old:RadAjaxManager>
with
<telerik_prometheus:RadAjaxManager ID="RadAjaxManager1" runat="server">
</telerik_prometheus:RadAjaxManager>
(in default.aspx)
After these two changes I am using Prometheus’ AjaxManager and the app doesn’t work anymore. I start getting the following error:
The Controls collection cannot be modified because the control contains code blocks (i.e. <% ... %>).
The question is: what am I missing here? Shouldn’t it work?
Any advice?
Thanks,
Paulo
| protected void Page_Load(object sender, EventArgs e) |
| { |
| ScriptManager scriptManager = new ScriptManager(); |
| scriptManager.ID = "MyScriptManager"; |
| this.Panel1.Controls.Add(scriptManager); |
| Label lab1 = new Label(); |
| lab1.Text = "Dette er min test tekst"; |
| lab1.ID = "MyTest"; |
| this.Panel1.Controls.Add(lab1); |
| Telerik.Web.UI.RadToolTipManager toolTipMngr = new Telerik.Web.UI.RadToolTipManager(); |
| toolTipMngr.AjaxUpdate += new Telerik.Web.UI.ToolTipUpdateEventHandler(toolTipMngr_AjaxUpdate); |
| toolTipMngr.TargetControls.Add("MyTest"); |
| this.Panel1.Controls.Add(toolTipMngr); |
| } |
| void toolTipMngr_AjaxUpdate(object sender, Telerik.Web.UI.ToolTipUpdateEventArgs e) |
| { |
| e.UpdatePanel.Controls.Add(new HtmlGenericControl("hr")); |
| } |