Exemple #1
0
        /// <summary>
        /// Binds the node.
        /// </summary>
        /// <param name="returnNodeId">The return node id.</param>
        private void BindNode(string returnNodeId)
        {
            string tabId = String.Empty;

            if (Request["tab"] != null)
            {
                tabId = Request["tab"];
            }
            if (String.IsNullOrEmpty(tabId))
            {
                return;
            }

            string staticNodeId = returnNodeId;
            string innerNodeId  = returnNodeId;

            if (Request.Form["id"] != null && !String.IsNullOrEmpty(Request.Form["id"]) && Request.Form["id"] != "null")
            {
                innerNodeId = Request.Form["id"].ToString();
            }
            if (Request.Form["staticParentId"] != null && !String.IsNullOrEmpty(Request.Form["staticParentId"]) && Request.Form["staticParentId"] != "null")
            {
                staticNodeId = Request.Form["staticParentId"].ToString();
            }

            IXPathNavigable navigable = Mediachase.Ibn.XmlTools.XmlBuilder.GetXml(StructureType.Navigation);
            XPathNavigator  link      = navigable.CreateNavigator().SelectSingleNode(String.Format("//Link[@id='{0}']", staticNodeId));

            if (link != null)
            {
                string treeLoader = link.GetAttribute("treeLoader", string.Empty);
                if (!String.IsNullOrEmpty(treeLoader))
                {
                    IJsonHandler jsHandler = (IJsonHandler)AssemblyUtil.LoadObject(treeLoader);
                    WriteArray(jsHandler.GetJsonDataSource(innerNodeId));
                }
            }
        }