EPiServer - 如何获取当前页面数据?
EPiServer - How can I get current page data?
我正在开发 EPiServer。我正在创建一个插件来编辑当前页面的内容。我正在尝试从以下代码中获取数据:
var pageRouteHelper = EPiServer.ServiceLocation.ServiceLocator.Current.GetInstance<IPageRouteHelper>();
var currentPage = pageRouteHelper.Page;
但是每次currentPage returns我都是起始页的内容。这里缺少什么,我无法在屏幕内容上获取我打开的页面?
如果我们有页面 ID,例如 139,使用以下代码我们可以检索页面的内容。
var pageId = 139;
var pageRef = new PageReference(pageId);
var contentRepository = ServiceLocator.Current.GetInstance<IContentLoader>();
var page = contentRepository.Get<PageData>(pageRef);
从浏览器获取页面 ID 的一种简单但可能不是最实用的方法是
var pageUrl = HttpContext.Current.Request.RawUrl;
我们可以从 pageUrl 检索 pageId。
我正在开发 EPiServer。我正在创建一个插件来编辑当前页面的内容。我正在尝试从以下代码中获取数据:
var pageRouteHelper = EPiServer.ServiceLocation.ServiceLocator.Current.GetInstance<IPageRouteHelper>();
var currentPage = pageRouteHelper.Page;
但是每次currentPage returns我都是起始页的内容。这里缺少什么,我无法在屏幕内容上获取我打开的页面?
如果我们有页面 ID,例如 139,使用以下代码我们可以检索页面的内容。
var pageId = 139;
var pageRef = new PageReference(pageId);
var contentRepository = ServiceLocator.Current.GetInstance<IContentLoader>();
var page = contentRepository.Get<PageData>(pageRef);
从浏览器获取页面 ID 的一种简单但可能不是最实用的方法是
var pageUrl = HttpContext.Current.Request.RawUrl;
我们可以从 pageUrl 检索 pageId。