У меня есть обработчик ASHX, который возвращает ответ XML (FileStructureXML.ashx).
Теперь мне нужно получить ответ XML от обработчика ASHX и использовать его в качестве источника данных для моей страницы ASPX.
Если я указываю XMLDataSource на статический XML-файл на сервере, древовидное представление заполняется, как ожидалось. Однако, если я укажу XMLDataSource на обработчик ASHX вместо статического XML-файла на сервере, это не сработает.
Любая помощь будет оценена по достоинству.
<body>
<form id = "form1" runat = "server">
<div>
<asp:TreeView ID = "TreeView_Folders" runat = "server" DataSourceID = "FileXML">
<DataBindings>
<asp:TreeNodeBinding DataMember = "Directory" TextField = "Name" />
<asp:TreeNodeBinding DataMember = "File" TextField = "Name" />
</DataBindings>
</asp:TreeView>
</div>
<div>
<asp:XmlDataSource ID = "FileXML" runat = "server" DataFile = "FileStructureXML.ashx">
</asp:XmlDataSource>
</div>
</form>
</body>





Я думаю, что XmlDataSource работает только с реальным файлом, а не с URL-адресом. Вы можете обойти это, не указав свойство DataFile и динамически загрузив свойство Data в свой код. Я думаю, что выбор FirstChild.OuterXml правильный, но вам, возможно, придется поэкспериментировать. Я не в том месте, где могу это проверить.
XmlDocument treeDoc = new XmlDocument();
treeDoc.Load( "~/FileStructureXML.ashx" ); // this takes a URL
FileXml.Data = treeDoc.FirstChild.OuterXml; // everything after the xml definition
Dim oDataSet As New DataSet
Public Sub PopulateTree(ByVal ParentId As String, ByVal TVNode As TreeNode)
Dim oDataView As New DataView(oDataSet.Tables(0), "ParentID='" & ParentId & "'",
"DATA", DataViewRowState.OriginalRows)
Dim oDataRow As DataRowView
For Each oDataRow In oDataView
Dim oTreeNode As New TreeNode(oDataRow("DATA"))
Dim oComboBox As New ComboBox
If TVNode Is Nothing Then
Else
TVNode.Nodes.Add(oTreeNode)
PopulateTree(oDataRow("ID"), oTreeNode)
End If
Next
End Sub
This is how U call the above function
PopulateTree(0, tvPost.TopNode)
tvPost - its the name of TreeView T
To Read More Click this link
http://muruganad.com/ASP.NET/ASP_.NET_How_to_Populate_a_TreeView_Control_With_TreeNode_s_Using_recursive_algorithm_or_recursion_.html