我正在尝试编写一个基本的 MVC 小部件,该小部件将列出带有链接的新闻项目,但我一直坚持如何为每个新闻项目获取正确的 URL。有谁知道这是怎么做到的?
我知道 NewsItems 不一定有一个链接,所以我根据新闻模块管理器在匹配首选页面的 URL 之后。在我的例子中,我指定了一个名为“news-item”的页面作为默认页面,所以我所有的新闻 URL 前面都应该有“news-item”。
如何以编程方式构建此 URL?
我试图通过在默认页面节点上运行“GetFullUrl()”方法来获取完整的 URL,但我什至还没走到那一步就卡住了:
var newsItems = App.WorkWith().NewsItems().Get();
var defaultPage = newsItems.FirstOrDefault().DefaultPageId.Value;
当我试图获取默认页面的 ID 以便获取其对应的 URL 时,我立即遇到错误:
Nullable object must have a value.
>> var defaultPage = newsItems.FirstOrDefault().DefaultPageId.Value;
任何想法这应该如何工作?我觉得 DefaultPageId 出于某种原因返回 null ......