4

わかりました、これは非常に簡単なことのように思えます。しかし、Sitefinity 4 Fluent API を使用してページをクエリし、ハイパーリンクの Text/NavigationUrl プロパティを入力しようとしています。テキストは正常に読み込まれますが、ページから URL を取得するのは困難です。

        PageNode page = App.WorkWith().Page(PageId).Get();
        PageLink.Text = page.Title;
        PageLink.NavigateUrl = page.Urls.Where<PageUrlData>(pU => pU.RedirectToDefault == false).FirstOrDefault<PageUrlData>().Url;

1 行目と 2 行目は正常に機能します (PageLink.Text はページ タイトルを示します)。3 行目に、「オブジェクト参照がオブジェクトのインスタンスに設定されていません」というメッセージが表示されます。エラー... 参考までに、PageId はページへの Guid 参照です。

どんな助けでも大歓迎です。

4

1 に答える 1

8

問題が見つかりました。PageNode には、リファレンスとして「Telerik.Sitefinity.Pages.Model」が必要です。私はそれを持っていましたが、後で「Telerik.Sitefinity.Modules.Pages」も含める必要があることがわかりました。

これにより、以下で使用した新しいメソッドがベルトに追加されます (getFullUrl):

    PageNode page = App.WorkWith().Page(PageId).Get();
    PageLink.Text = page.Title;
    PageLink.NavigateUrl = page.GetFullUrl();

ありがとう

于 2011-05-22T13:38:23.543 に答える