【发布时间】:2011-05-05 14:57:32
【问题描述】:
我正在使用一种递归方法来显示我有权查看的所有文档。第一遍效果很好,但是当它以递归方式调用自身并传递当前文档的子文档数组时会引发错误:
对象引用未设置为 对象的实例。说明:一个 期间发生未处理的异常 当前网络的执行 要求。请查看堆栈跟踪 有关错误的更多信息 以及它起源于代码的位置。
异常详情: 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
}
}
}
}
【问题讨论】:
标签: c# asp.net content-management-system umbraco content-management