EpiServer:如何检查页面是否存在?

时间:2009-11-20 14:47:57

标签: episerver

有没有办法优雅地检查EpiServer CMS 5中是否存在页面(给定pageId整数) 必须捕获

引发的PageNotFoundException

DataFactory.Instance.GetPage(pageReference)

(EpiServer很乐意使用非现有的pageId创建一个PageReference)。

当然,我可以检查页面是否存在而不会抛出异常或进行大规模循环?

3 个答案:

答案 0 :(得分:6)

[EPiServer CMS 5 R2 SP2] 不,不是没有绕过页面缓存,而且比捕获异常更昂贵。

答案 1 :(得分: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;
    }
}

答案 2 :(得分:-3)

PageReference的静态方法应该有所帮助:

PageReference.IsNullOrEmpty(pageLink)