Умбрако:Получение списка дочерних узлов в пользовательском элементе управления

StackOverflow https://stackoverflow.com/questions/1094610

  •  11-09-2019
  •  | 
  •  

Вопрос

У меня есть пользовательский элемент управления, в котором мне нужно возвращать дочерние узлы на основе родительского ID.Я могу получить родительский ID, но не знаю синтаксиса возврата дочерних узлов.

Это было полезно?

Решение

Получить дочерние узлы довольно просто.

Не уверен, насколько далеко вы продвинулись в своем коде, поэтому вот полный пример с различными опциями:

using umbraco.presentation.nodeFactory;

namespace cogworks.usercontrols
{
    public partial class ExampleUserControl : System.Web.UI.UserControl
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            //If you just want the children of the current node use the following method
            var currentNode = Node.GetCurrent();

            //If you need a specific node based on ID use this method (where 123 = the desired node id)
            var specificNode = new Node(123);

            //To get the children as a Nodes collection use this method
            var childNodes = specificNode.Children;

            //Iterating over nodes collection example
            foreach(var node in childNodes)
            {
                Response.Write(string.Format("{0}<br />", node.Name));
            }

            //To get the nodes as a datatable so you can use it for DataBinding use this method
            var childNodesAsDataTable = node.ChildrenAsTable();

            //Databind example
            GridViewOnPage.DataSource = childNodesAsDataTable;
            GridViewOnPage.DataBind();
        }
    }
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top