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 回答