3

スローされたものをキャッチすることなく、EpiServer CMS 5(pageId整数が指定されている)にページが存在するかどうかを適切にチェックする方法はありますか?PageNotFoundException

DataFactory.Instance.GetPage(pageReference)

(EpiServerは、存在しないpageIdを使用してPageReferenceを作成します)。

確かに、例外をスローしたり、大規模なループを実行したりせずに、ページが存在するかどうかを確認できますか?

4

3 に答える 3

6

[EPiServer CMS 5 R2 SP2]いいえ、ページキャッシュをバイパスしないわけではなく、例外をキャッチするよりもコストがかかります。

于 2009-11-24T15:16:46.690 に答える
0

拡張メソッドでキャッチを行うのは良いことだと思います。

public static bool TryGetPage(this PageReference pageReference, out PageData pd)
{
    try
    {
        pd = DataFactory.Instance.GetPage(pageReference);
        return true;
    }
    catch (Exception)
    {
        pd = null;
        return false;
    }
}
于 2011-01-10T15:20:48.023 に答える
-3

PageReferenceの静的メソッドがあります。これは次のことに役立ちます。

PageReference.IsNullOrEmpty(pageLink)
于 2010-02-02T16:29:35.710 に答える