如何解决以下错误: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
类并添加构造函数。
我从昨天起就一直在做这个,但在这里提出问题几分钟后,我找到了答案。。。
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;
}
}
}