Ошибка объекта при попытке вернуть документы (Umbraco Document API) - PullRequest
0 голосов
/ 05 мая 2011

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

Ссылка на объект не установлена ​​на экземпляр объекта.Описание: во время выполнения текущего веб-запроса произошло необработанное исключение.Пожалуйста, просмотрите трассировку стека для получения дополнительной информации об ошибке и о том, где она возникла в коде.

Сведения об исключении: System.NullReferenceException: ссылка на объект не установлена ​​для экземпляра объекта.

Вот код:

protected void Page_Load(object sender, EventArgs e)
{
    lblTest.Text = "Data<br /><br />";
    Document[] releaseDocs = Document.GetRootDocuments();
    displayDocs(releaseDocs);
}
public void displayDocs(Document[] releaseDocs)
{
    string docPermissions = null;
    User currentUser = User.GetCurrent();
    foreach (var doc in releaseDocs)
    {
        docPermissions = currentUser.GetPermissions(doc.Path);
        if ((docPermissions.Contains("F")) && (docPermissions.Contains("U")))
        {
            lblTest.Text += "D/T: " + doc.CreateDateTime + "<br />\r\n";
            lblTest.Text += "Level: " + doc.Level + "<br />\r\n";
            lblTest.Text += "Text: " + doc.Text + "<br />\r\n";
            lblTest.Text += "<hr />\r\n";
            if (doc.HasChildren)
            {
                 Document[] childDocs = Document.GetChildrenForTree(doc.Id);
                 displayDocs(childDocs); //error occurs here
            }
        }
    }
}

1 Ответ

1 голос
/ 05 мая 2011

Возможно ли, что метод Document.GetChildrenForTree (doc.Id) возвращает ноль?

...