/// <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)); } } }