Hi,
I am using an RadTreeView control with in a user Control (FacilityPicker)
When I use that user Control on .aspx page all the clientside events are firing (e.g OnClientNodeChecking and the expand/ collapse). It works inch perfect.
However when I use the sameuser Control (FacilityPicker) and use it inside another UserControl it loads up correctly however the clients side events do not fire at all. :(
Mind you all these pages are being loaded with in the Masterpage.
Well cant figure out why....
Thanks in advance.
Tejas
I am using an RadTreeView control with in a user Control (FacilityPicker)
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="FacilityPicker.ascx.cs" Inherits="UsersOnly_Controls_FacilityPicker" %><%@ Register TagPrefix="telerik" Namespace="Telerik.Web.UI" %><script language="javascript" type="text/javascript"> function OnClientCheckingHandler(sender, eventArgs) { var node = eventArgs.get_node(); if (node.get_category() == 'Disabled') { eventArgs.set_cancel(true); } else { BubbleDownSelection(node, !node.get_checked()); } } function BubbleDownSelection(node, toCheck) { var subNodes = node.get_nodes(); for (var i = 0; i < subNodes.get_count(); i++) { var subNode = subNodes.getNode(i); if (subNode.get_category() != 'Disabled') { if (toCheck) { subNode.check(); } else { subNode.uncheck(); } } BubbleDownSelection(subNode, toCheck); } }</script> <!-- BEGIN Message FacilityPicker Control --><div> <telerik:RadTreeView runat="server" ID="RadTreeViewFacilityPicker" AllowMultiItemSelection="true" CheckBoxes="True" OnClientNodeChecking="OnClientCheckingHandler" > <DataBindings> <telerik:RadTreeNodeBinding Expanded="true" /> </DataBindings> </telerik:RadTreeView></div><!-- END Message FacilityPicker Control -->When I use that user Control on .aspx page all the clientside events are firing (e.g OnClientNodeChecking and the expand/ collapse). It works inch perfect.
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="TestFac.aspx.cs" Inherits="TestFac" MasterPageFile="~/MasterPage.master" %><%@ Register Src="UsersOnly/Controls/FacilityPicker.ascx" TagName="FacilityPicker" TagPrefix="uc1" %><asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server"> <div class="ContentFrame"> <div> <asp:PlaceHolder ID="PlaceHolder1" runat="server"></asp:PlaceHolder> <uc1:FacilityPicker ID="FacilityPicker1" runat="server" /> </div> <div style="float: right"> <asp:Button ID="Button1" runat="server" Text="Get Selected Node" OnClick="Button1_Click" /> </div> <br /> <br /> </div> <span style="clear:both"></span></asp:Content>However when I use the sameuser Control (FacilityPicker) and use it inside another UserControl it loads up correctly however the clients side events do not fire at all. :(
Mind you all these pages are being loaded with in the Masterpage.
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="UCRuleWizard.ascx.cs" Inherits="UsersOnly_UCRuleWizard" %><%@ Register Src="~/SecurityControls/UsersOnly/UCMembers.ascx" TagName="UCMembers" TagPrefix="uc1" %><%@ Register Src="~/UsersOnly/Controls/TemplateEditor.ascx" TagName="TemplateEditor" TagPrefix="uc2" %><%@ Register Src="~/UsersOnly/Controls/FacilityPicker.ascx" TagName="FacilityPicker" TagPrefix="uc3" %><script language="javascript" type="text/javascript"> function SetRadPageView() { var ddRemindTime = document.getElementById('<%=ddRemindTime.ClientID%>'); var selectedWhenType = ddRemindTime.options[ddRemindTime.selectedIndex].value; //var text = ddlist.options[ddlist.selectedIndex].text; var multiPage = $find("<%=MultiPageReminder.ClientID %>"); var pageView; if (selectedWhenType == "0") pageView = multiPage.findPageViewByID("<%=SelectBlank.ClientID%>"); else if (selectedWhenType == 'DaysBefore') pageView = multiPage.findPageViewByID("<%=DaysBefore.ClientID%>"); else if (selectedWhenType == 'HoursBefore') pageView = multiPage.findPageViewByID("<%=HoursBefore.ClientID%>"); else if (selectedWhenType == 'MinutesBefore') pageView = multiPage.findPageViewByID("<%=MinutesBefore.ClientID%>"); else if (selectedWhenType == 'AfternoonBefore') pageView = multiPage.findPageViewByID("<%=AfternoonBefore.ClientID%>"); else if (selectedWhenType == 'MorningBefore') pageView = multiPage.findPageViewByID("<%=MorningBefore.ClientID%>"); if (pageView) pageView.set_selected(true); // Change the ValidationGroup for the Next button each time we switch var newValGroup = ((selectedWhenType != 0) ? selectedWhenType : ""); var btnNext = document.getElementById("<%=RuleWizard.ClientID %>_StepNavigationTemplateContainerID_btnNext"); btnNext.onclick = function () { WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("btnNext", "", true, newValGroup, "", false, false)); }; } function funSetID() { var txtID = document.getElementById('<%=txtRuleID.ClientID%>'); var txtCRDUAction = document.getElementById('<%=txtCRDUAction.ClientID%>'); var txtName = document.getElementById('<%=txtRuleName.ClientID%>'); if (txtCRDUAction.value == 'Create' && txtName.value !='') { str = txtName.value; str = str.split(' ').join(''); txtID.value = str; } } function TempWarning() { var ddlist = document.getElementById('<%=ddMessageType.ClientID%>'); var lblTempError = document.getElementById('<%=ErrorMessageTemp.ClientID%>'); var val = ddlist.options[ddlist.selectedIndex].value; if (val == "AppointmentReminder") { lblTempError.innerText = ""; } else { lblTempError.innerText = "Message type not implemented yet. Please choose another option."; ddlist.selectedIndex = 0; } }</script><input id="txtCRDUAction" type="hidden" runat="server" /><input id="txtEditMode" type="hidden" runat="server" /> <div style="margin-bottom: 30px; height: 1px"> <div style="float:left;"> <h2>Message Schedules</h2> </div> </div> <br style="clear:both;" /> <div style="margin-bottom: 10px; height: 1px"><asp:Label ID="ErrorMessage" ForeColor="red" runat="server" Visible="false" EnableViewState="False"></asp:Label><asp:Panel ID="PanelRuleEdit" Width="100%" runat="server" > <asp:Wizard ID="RuleWizard" runat="server" BackColor="#DFEBF6" BorderColor="black" BorderWidth="1px" Width="100%" CellPadding="2" CellSpacing="2" NavigationStyle-HorizontalAlign="Right" ActiveStepIndex="2" DisplaySideBar="False" OnFinishButtonClick="RuleWizard_FinishButtonClick" OnNextButtonClick="RuleWizard_NextButtonClick" onpreviousbuttonclick="RuleWizard_PreviousButtonClick"> <NavigationButtonStyle CssClass="Button" /> <NavigationStyle HorizontalAlign="Right"/> <SideBarButtonStyle BackColor="#507CD1" Font-Names="Verdana" ForeColor="White" /> <SideBarStyle BackColor="#507CD1" Font-Size="0.9em" VerticalAlign="Top" Width="20%" /> <StepStyle ForeColor="#333333" /> <StepNavigationTemplate> <asp:Button ID="btnPrevious" runat="server" CssClass="Button" Text="Previous" CommandName="MovePrevious" ToolTip="Move to the previous step"/> <asp:Button ID="btnNext" runat="server" CssClass="Button" CommandName="MoveNext" Text="Next" CausesValidation="true" ValidationGroup="Form" ToolTip="Move to next step"/> </StepNavigationTemplate> <WizardSteps> <asp:WizardStep ID="WizardStep1" runat="server" Title="Message Type" StepType="Start"> <div> <b>Step 1) What type of message?</b></div> <br /> <div> <table border="0" cellpadding="2" cellspacing="2"> <tr> <td> Select type of message </td> <td> <asp:DropDownList runat="server" ID="ddMessageType" > <asp:ListItem Value="0" Text="--Select--"></asp:ListItem> <asp:ListItem Value="AppointmentReminder" Text="SMS Appointment Reminder"></asp:ListItem> <asp:ListItem Value="MedicationReminder" Text="MedicationReminder"></asp:ListItem> <asp:ListItem Value="RecallsForService" Text="RecallsForService"></asp:ListItem> <asp:ListItem Value="LabResults_Outpatients" Text="LabResults_Outpatients"></asp:ListItem> <asp:ListItem Value="LabResults_Staff" Text="LabResults_Staff"></asp:ListItem> <asp:ListItem Value="HealthAdvice" Text="HealthAdvice"></asp:ListItem> <asp:ListItem Value="Administrative" Text="Administrative"></asp:ListItem> <asp:ListItem Text="Survey" Value="Survey"></asp:ListItem> <asp:ListItem Text="CollectionReminder" Value="CollectionReminder"></asp:ListItem> </asp:DropDownList> <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ErrorMessage="Please make a selection" ControlToValidate="ddMessageType" InitialValue="0"> </asp:RequiredFieldValidator> </td> </tr> <tr> <td colspan="2"> <asp:Label ID="ErrorMessageTemp" runat="server" ForeColor="Red"></asp:Label> </td> </tr> </table> </div> </asp:WizardStep> <asp:WizardStep ID="WizardStep2" runat="server" Title="Schedule Timing" StepType="Step"> <div> <b>Step 2) When to send message?</b></div> <br /> <div> <table border="0" cellpadding="2" cellspacing="2"> <tr> <td> Send patient appointments reminders at what time relative to the appointment? </td> </tr> <tr> <td> <asp:DropDownList runat="server" ID="ddRemindTime" > <asp:ListItem Text="--Select--" Value="0"></asp:ListItem> <asp:ListItem Text="D days before appointment @ H:mm" Value="DaysBefore"></asp:ListItem> <asp:ListItem Text="H hours before appointment" Value="HoursBefore"></asp:ListItem> <asp:ListItem Text="M minutes before appointment" Value="MinutesBefore"></asp:ListItem> <asp:ListItem Text="Afternoon before the morning appointment" Value="AfternoonBefore"></asp:ListItem> <asp:ListItem Text="Morning before the afternoon appointment" Value="MorningBefore"></asp:ListItem> </asp:DropDownList> <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ErrorMessage="Please make a selection" ControlToValidate="ddRemindTime" InitialValue="0" SetFocusOnError="True" > </asp:RequiredFieldValidator> </td> </tr> <tr> <td> <telerik:RadMultiPage ID="MultiPageReminder" runat="server" SelectedIndex="0"> <telerik:RadPageView ID="SelectBlank" runat="server" Selected="True"> </telerik:RadPageView> <telerik:RadPageView ID="DaysBefore" runat="server"> <div> <asp:TextBox ID="txtDaysBefore" runat="server" ValidationGroup="dayBefore" Width="50px"></asp:TextBox> <asp:RangeValidator ID="RangeValidator1" runat="server" ValidationGroup="DaysBefore" ControlToValidate="txtDaysBefore" Display="Static" ErrorMessage="Must be > 1 and < 30" MaximumValue="30" MinimumValue="1" SetFocusOnError="True" Type="Integer" ></asp:RangeValidator> <asp:RequiredFieldValidator ID="RequiredFieldValidator5" runat="server" ControlToValidate="txtDaysBefore" ValidationGroup="DaysBefore" ErrorMessage="Required" SetFocusOnError="true" /> days before appointment at specific time of the day <telerik:RadTimePicker ID="RadTimePickerD" runat="server" Culture="en-NZ" ValidationGroup="DaysBefore" TabIndex="1"> <Calendar UseColumnHeadersAsSelectors="False" UseRowHeadersAsSelectors="False" ViewSelectorText="x"> </Calendar> <DatePopupButton CssClass="" HoverImageUrl="" ImageUrl="" TabIndex="1" Visible="False" /> <TimeView CellSpacing="-1" Culture="en-NZ" Skin="Office2007"> </TimeView> <TimePopupButton CssClass="" HoverImageUrl="" ImageUrl="" SkinID="Office2007" TabIndex="101" ToolTip="Click to select time" /> <DateInput DateFormat="d/MM/yyyy" DisplayDateFormat="d/MM/yyyy" Font-Size="X-Small" ForeColor="Black" TabIndex="1" ToolTip="Fill to consider only appointments at this time." Width="60px"> </DateInput> </telerik:RadTimePicker> <asp:RequiredFieldValidator ID="RequiredFieldValidator6" runat="server" ControlToValidate="RadTimePickerD" ValidationGroup="DaysBefore" ErrorMessage="Required" SetFocusOnError="true" /> </div> <div> </div> </telerik:RadPageView> <telerik:RadPageView ID="HoursBefore" runat="server"> <div> <asp:TextBox ID="txtHoursBefore" runat="server" Width="50px"></asp:TextBox> hour(s) before appointment <asp:RangeValidator ID="RangeValidator2" runat="server" ControlToValidate="txtHoursBefore" Display="Static" ValidationGroup="HoursBefore" ErrorMessage="Must be > 1 and < 24" MaximumValue="24" MinimumValue="1" SetFocusOnError="True" Type="Integer" ></asp:RangeValidator> <asp:RequiredFieldValidator ID="reqHoursBefore" runat="server" ControlToValidate="txtHoursBefore" ValidationGroup="HoursBefore" ErrorMessage="Required" SetFocusOnError="true" /> </div> </telerik:RadPageView> <telerik:RadPageView ID="MinutesBefore" runat="server"> <div> <asp:TextBox ID="txtMinutesBefore" runat="server" Width="50px"></asp:TextBox> minute(s) before appointment <asp:RangeValidator ID="RangeValidator3" runat="server" ControlToValidate="txtMinutesBefore" Display="Static" ValidationGroup="MinutesBefore" ErrorMessage="Must be > 1 and < 500" MaximumValue="500" MinimumValue="1" SetFocusOnError="True" Type="Integer" ></asp:RangeValidator> <asp:RequiredFieldValidator ID="RequiredFieldValidator4" runat="server" ControlToValidate="txtMinutesBefore" ValidationGroup="MinutesBefore" ErrorMessage="Required" SetFocusOnError="true" /> <br /> </div> </telerik:RadPageView> <telerik:RadPageView ID="AfternoonBefore" runat="server"> <div> Afternoon before the morning appointment at <telerik:RadTimePicker ID="RadTimePickerA" runat="server" Culture="en-NZ" TabIndex="1"> <Calendar UseColumnHeadersAsSelectors="False" UseRowHeadersAsSelectors="False" ViewSelectorText="x"> </Calendar> <DatePopupButton CssClass="" HoverImageUrl="" ImageUrl="" TabIndex="1" Visible="False" /> <TimeView CellSpacing="-1" Culture="en-NZ" Skin="Office2007"> </TimeView> <TimePopupButton CssClass="" HoverImageUrl="" ImageUrl="" SkinID="Office2007" TabIndex="101" ToolTip="Click to select time" /> <DateInput DateFormat="d/MM/yyyy" DisplayDateFormat="d/MM/yyyy" Font-Size="X-Small" ForeColor="Black" TabIndex="1" ToolTip="Fill to consider only appointments at this time." Width="60px"> </DateInput> </telerik:RadTimePicker> <asp:RequiredFieldValidator ID="RequiredFieldValidator7" runat="server" ControlToValidate="RadTimePickerA" ValidationGroup="AfternoonBefore" ErrorMessage="Required" SetFocusOnError="true" /> </div> </telerik:RadPageView> <telerik:RadPageView ID="MorningBefore" runat="server"> <div> Morning before the afternoon appointment at <telerik:RadTimePicker ID="RadTimePickerMO" runat="server" Culture="en-NZ" TabIndex="1"> <Calendar UseColumnHeadersAsSelectors="False" UseRowHeadersAsSelectors="False" ViewSelectorText="x"> </Calendar> <DatePopupButton CssClass="" HoverImageUrl="" ImageUrl="" TabIndex="1" Visible="False" /> <TimeView CellSpacing="-1" Culture="en-NZ" Skin="Office2007"> </TimeView> <TimePopupButton CssClass="" HoverImageUrl="" ImageUrl="" SkinID="Office2007" TabIndex="101" ToolTip="Click to select time" /> <DateInput DateFormat="d/MM/yyyy" DisplayDateFormat="d/MM/yyyy" Font-Size="X-Small" ForeColor="Black" TabIndex="1" ToolTip="Fill to consider only appointments at this time." Width="60px"> </DateInput> </telerik:RadTimePicker> <asp:RequiredFieldValidator ID="RequiredFieldValidator8" runat="server" ControlToValidate="RadTimePickerMO" ValidationGroup="MorningBefore" ErrorMessage="Required" SetFocusOnError="true" /> </div> </telerik:RadPageView> <telerik:RadPageView ID="Mannual" runat="server"> <div style="color: #FF0000"> This rule cannot be schduled. You will have to run this manually.</div> </telerik:RadPageView> <telerik:RadPageView ID="Others" runat="server"> <div style="color: #FF0000"> NOT IMPLEMENTED</div> </telerik:RadPageView> </telerik:RadMultiPage> </td> </tr> </table> </div> </asp:WizardStep> <asp:WizardStep ID="WizardStep3" runat="server" Title="Patient Selection" StepType="Step"> <div> <b>Step 3) Specify which patients to send reminders to by specifying; clinics and/or departments and/or doctors</b></div> <br /> <div> <!--<uc1:UCMembers ID="UCMembers1" runat="server" />--> <uc3:FacilityPicker ID="FacilityPicker1" runat="server" /> </div> </asp:WizardStep> <asp:WizardStep ID="WizardStep4" runat="server" Title="Message Template" StepType="Step"> <div> <b>Step 4) Specify the template for the message to send</b></div> <br /> <div> Start from a predefined message template from the library .. <asp:DropDownList ID="ddLibraryMessageTemplates" runat="server" DataValueField="TemplateID" DataTextField="Name" AutoPostBack="true" OnSelectedIndexChanged="ddLibraryMessageTemplates_OnChange" /> <uc2:TemplateEditor ID="TemplateEditor1" runat="server" /> </div> </asp:WizardStep> <asp:WizardStep ID="WizardStep5" runat="server" Title="Rule Name" StepType="Finish"> <div> <b>Step 5) Specify rule name and options</b></div> <br /> <div> <table cellpadding="2" cellspacing="2" border="0"> <tr> <td> Description </td> <td> <asp:TextBox runat="server" ID="txtDescription" TextMode="MultiLine"></asp:TextBox> </td> </tr> <tr> <td> Rule Name </td> <td> <asp:TextBox ID="txtRuleName" runat="server" onblur="funSetID()"></asp:TextBox> <asp:RequiredFieldValidator ID="reqName" runat="server" ControlToValidate="txtRuleName" ErrorMessage="Please enter name" ></asp:RequiredFieldValidator> </td> </tr> <tr> <td> Only for patient who provided consent </td> <td> <asp:CheckBox ID="chkOptInOnly" runat="server" Checked="True" /> </td> </tr> <tr> <td> Use prefered language template </td> <td> <asp:CheckBox ID="chkPrefLang" runat="server" /> </td> </tr> </table> <asp:TextBox ID="txtRuleID" runat="server" Enabled="false" Visible="false"></asp:TextBox> </div> </asp:WizardStep> <asp:WizardStep ID="WizardStep6" runat="server" Title="6) Rule Summary" StepType="Complete"> <div><b> Rule Summary</b></div> <div> <table cellpadding="2" cellspacing="2" border="0"> <tr> <td colspan="2" style="color:Green" runat="server" id="tdSuccess" >Rule has been saved successfully!!!</td> </tr> <tr> <td>Message Type</td> <td><asp:Label ID="lblMessageType" runat="server"></asp:Label></td> </tr> <tr> <td>Name</td> <td><asp:Label ID="lblName" runat="server"></asp:Label></td> </tr> <tr> <td>Name Description</td> <td><asp:Label ID="lblDesc" runat="server"></asp:Label></td> </tr> <tr> <td>Schedule</td> <td><asp:Label ID="lblSchdule" runat="server"></asp:Label></td> </tr> </table> </div> <div> Click to make '<asp:LinkButton ID="lnkEditAgain" runat="server" OnClick="lnkEditAgain_Click" >change this rule</asp:LinkButton>'. Else click here to get back to '<asp:LinkButton ID="lnklists" runat="server" OnClick="lnklists_Click" >rule list</asp:LinkButton>' </div> </asp:WizardStep> </WizardSteps> </asp:Wizard></asp:Panel></div>Well cant figure out why....
Thanks in advance.
Tejas