Umbraco 7-通过返回空值的名称获取父节点

问题描述 投票:0回答:1

我对Umbraco并不陌生,并试图解决TypedContentAtRoot()返回null的问题。我必须获得单击按钮后必须将用户重定向到的子节点的URL。子页面已作为子代添加到父页面,我已经确认相同。

这是我用来检索当前页面的parentNode的代码。

     var umbracoHelper = new UmbracoHelper(UmbracoContext.Current); 
      var homeNode = umbracoHelper.TypedContentAtRoot().Where(w => 
                                    w.ContentType.Alias.Equals("HomePage"));
     var descendants =homeNode.DescendantsOrSelf("SubmittedPage");
     var confirmationPage = descendants.FirstOrDefault();
return confirmationPage?.Url;

为了验证这一点,我进行了一次检查,可以在其中获取当前的PageID,并且也将其返回为null

var currentPageId = UmbracoContext.Current.PageId;

基本上,我有一个主页作为文档类型。它具有我已确认存在的各种子页面。有一些jQuery验证发送get请求来检索ConfirmationPage Url,如下面的代码所示。

$.get('/Umbraco/Api/ConfirmationPageUrl',
function(data) {      
  window.location.replace(data);
});
asp.net-mvc umbraco umbraco7
1个回答
0
投票
之后,我必须获取用户必须重定向到的子节点的URL。

也许您的UmbracoContext尚未设置?或者,您可以尝试将当前页面ID传递给控制器​​,获取节点,遍历树并以这种方式找到单个“ true”父对象?

© www.soinside.com 2019 - 2024. All rights reserved.