0

我正在使用 EPiServer 7.7 MVC 并且有一个场景,我有一个本地/全局 Block MyBlockMyBlock有一个控制器MyBlockController。我需要获取调用的页面的 ID MyBlockController

 public class MyBlockController : BlockController<MyBlock>{

      public override ActionResult Index(MyBlock currentContent){
          Guid hostingPageId = ????
      }
  }

我查看了BlockDataContentData类,但它们似乎没有对主机的任何引用。

我可以从控制器上下文中获取当前页面的 id 吗?

4

1 回答 1

2

EPiServer 有PageRouteHelper正是为了这个目的。
它有一个属性Page返回当前请求上下文的当前 Page。

所以你的代码会变成:

public class MyBlockController : BlockController<MyBlock>
{
    private readonly PageRouteHelper _pageRouteHelper;

    public override ActionResult Index(MyBlock currentContent)
    {
        Guid hostingPageId = _pageRouteHelper.Page.PageGuid;
    }
}
于 2014-11-13T13:55:08.510 回答