EpiServer:如何检查页面是否存在?
有没有一种方法可以优雅地检查 EpiServer CMS 5 中是否存在页面(给定 pageId 整数)而不必捕获由
DataFactory.Instance 抛出的
PageNotFoundException
。 GetPage(pageReference)
(EpiServer 会很乐意使用不存在的 pageId 创建 PageReference)。
我当然可以检查页面是否存在而不引发异常或进行大规模循环吗?
Is there a way to gracefully check whether a page exists in EpiServer CMS 5 (given a pageId integer) without having to catch the PageNotFoundException
thrown by
DataFactory.Instance.GetPage(pageReference)
(EpiServer will happily create a PageReference using a non existing pageId).
Surely I can check whether a page exists without throwing an exception or doing a massive loop?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
[EPiServer CMS 5 R2 SP2]
不,不绕过页面缓存就不行,这比捕获异常更昂贵。
[EPiServer CMS 5 R2 SP2]
No, not without bypassing the page cache and that is more expensive than catching the exception.
我发现在扩展方法中进行捕获很好:
I find it nice to do the catching in an extension method:
PageReference 有一个静态方法应该有所帮助:
There is a static method of PageReference which should help: