代码之家  ›  专栏  ›  技术社区  ›  Grigoris Loukidis

上位服务器-如何获取当前页面数据?

  •  0
  • Grigoris Loukidis  · 技术社区  · 6 年前

    我在写上位机。我正在创建一个插件来编辑当前页面的内容。我试图从以下代码中获取数据:

     var pageRouteHelper = EPiServer.ServiceLocation.ServiceLocator.Current.GetInstance<IPageRouteHelper>();
    
     var currentPage = pageRouteHelper.Page;
    

    但每次当currentpage返回给我开始页的内容时。这里缺少什么,我无法获取我在屏幕上打开的页面内容?

    1 回复  |  直到 6 年前
        1
  •  0
  •   Grigoris Loukidis    6 年前

    如果我们有页面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。