如何解决以下错误:Episerver.PageBase不包含接受0个参数的构造函数

本文关键字:包含接 PageBase 0个 构造函数 参数 Episerver 何解决 解决 错误 | 更新日期: 2023-09-27 18:24:41

我在Episerver 7.5项目中创建了一个通用处理程序。

在这个处理程序中,我想从PageBase类继承方法。我的代码如下:

public class GetMapCoordinates : PageBase, IHttpHandler
{
    public override void ProcessRequest(HttpContext context)
    {
        PropertyCriteriaCollection criterias = new PropertyCriteriaCollection();
        PropertyCriteria criteria = new PropertyCriteria();
        criteria.Condition = CompareCondition.Equal;
        criteria.Name = "PageTypeID";
        criteria.Type = PropertyDataType.PageType;
        criteria.Value = Locate.ContentTypeRepository().Load("HotelDetailPage").ID.ToString();
        criteria.Required = true;
        criterias.Add(criteria);
        PageDataCollection _newsPageItems = Locate.PageCriteriaQueryService().FindPagesWithCriteria(PageReference.StartPage, criterias);
    }
    public new bool IsReusable
    {
        get
        {
            return false;
        }
    }
}

我一直在尝试查找从PageBase类继承的其他类,但找不到它。我无法修改PageBase类,因为它在项目中被锁定为元数据。

还有别的办法吗?注意,我说过我不能修改PageBase类并添加构造函数。

如何解决以下错误:Episerver.PageBase不包含接受0个参数的构造函数

我从昨天起就一直在做这个,但在这里提出问题几分钟后,我找到了答案。。。

appently epserver有一个名为"SimplePage"的类,它继承了PageBase类。

   public class GetMapCoordinates : SimplePage, IHttpHandler
    {
        public override void ProcessRequest(HttpContext context)
        {
            PropertyCriteriaCollection criterias = new PropertyCriteriaCollection();
            PropertyCriteria criteria = new PropertyCriteria();
            criteria.Condition = CompareCondition.Equal;
            criteria.Name = "PageTypeID";
            criteria.Type = PropertyDataType.PageType;
            criteria.Value = Locate.ContentTypeRepository().Load("HotelDetailPage").ID.ToString();
            criteria.Required = true;
            criterias.Add(criteria);
            PageDataCollection _newsPageItems = Locate.PageCriteriaQueryService().FindPagesWithCriteria(PageReference.StartPage, criterias);
        }
        public new bool IsReusable
        {
            get
            {
                return false;
            }
        }
    }