or

protected RadTreeNode BuildOption(Options option, string questionType)
{
RadTreeNode nodeOption = new RadTreeNode(); nodeOption.Text = "(" + option.OrderID.ToString() + ") " + option.Name; nodeOption.Value = option.OptionsID.ToString(); nodeOption.Attributes.Add(SurveyTreeNodeAttributes.SurveyTreeNodeType, ((int)EnumsBL.SurveyTreeNodeType.Option).ToString()); nodeOption.Attributes.Add(SurveyTreeNodeAttributes.QuestionType, questionType); nodeOption.ImageUrl = "~/images/ConstIcons/icon-question-option.png"; return nodeOption;
}
[WebMethod]public static RadTreeNodeData[] LoadNodes(RadTreeNodeData node, object context){ EnumsBL.SurveyTreeNodeType nodeType = (EnumsBL.SurveyTreeNodeType)Enum.Parse(typeof(EnumsBL.SurveyTreeNodeType), node.Attributes[SurveyTreeNodeAttributes.SurveyTreeNodeType].ToString()); TreeNodeBuilder treeNodeBuilder = QuestionnaireTreeBuilderFactory.GetQuestionnaireTreeBuilder(nodeType); return treeNodeBuilder.BuildChildNodesData(node.Value);}<telerik:RadTreeView ID="radTree" Skin="Default" BackColor="White" BorderStyle="Solid" BorderColor="#CCCCCC" BorderWidth="1px" AllowNodeEditing="true" Style="cursor: hand;" Height="250px" EnableDragAndDrop="false" OnNodeClick="NodeClick" SingleExpandPath="true" runat="server"> <WebServiceSettings Path="../../Constructor/AdaptiveAnswerBuilder.aspx" Method="LoadNodes" /> </telerik:RadTreeView>LoadNodes" and checked that RadTreeNodeData object array contains the two attributes added to the node at the top.protected void TreeNodeClicked(object sender, RadTreeNodeEventArgs e) { RadTreeNode selectedNode = e.Node; //only one of the attributes, assigned during node creation, are present switch ((EnumsBL.SurveyTreeNodeType)Enum.Parse(typeof(EnumsBL.SurveyTreeNodeType), selectedNode.Attributes[SurveyTreeNodeAttributes.SurveyTreeNodeType])) { case EnumsBL.SurveyTreeNodeType.Option: SetViewstateVariables(selectedNode); SetConditionValueHolder(int.Parse(selectedNode.Value)); EnableSaveButton(); break; default: pnlCondEqual.Visible = false; DisableSaveButton(); break; } }foreach (Event item in eventList){ RadTreeNode rootNode = new RadTreeNode(item.Name, item.Id.ToString()); rootNode.Expanded = true; RadTreeNode childNode = new RadTreeNode(); ActorNode actorNode = (ActorNode)LoadControl("ComponentControls/ActorNode.ascx"); actorNode.ID = ACTOR_NODE_ID + item.Id; List<Actor> actorList = Actor.GetActorList(item.Id); List<MunicipalityActor> munActorList = MunicipalityActor.GetMunActorList(MunCode); actorNode.InitializeControl(municipalityActorList, actorList); childNode.Controls.Add(actorNode); rootNode.Nodes.Add(childNode); RadTreeView_Actors.Nodes.Add(rootNode);}foreach (RadTreeNode rootNode in RadTreeView_Actors.Nodes){ Control control = rootNode.Nodes[0].FindControl(ACTOR_NODE_ID + rootNode.Value);}
