0

EPiServer 7.7 MVC を使用しており、ローカル/グローバル Block があるシナリオがありますMyBlockMyBlockコントローラを持っていますMyBlockController。を呼び出したページの ID を取得する必要がありますMyBlockController

 public class MyBlockController : BlockController<MyBlock>{

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

BlockDataとクラスを調べましたContentDataが、ホストへの参照がないようです。

おそらくコントローラーコンテキストから現在のページの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 に答える