从块的控制器访问当前页面
本文关键字:当前页 访问 控制器 | 更新日期: 2023-09-27 18:30:17
我正在使用EPiServer 7.7 MVC,并且有一个本地/全局块MyBlock
的场景。 MyBlock
有一个控制器MyBlockController
。 我需要获取调用MyBlockController
的页面的 ID:
public class MyBlockController : BlockController<MyBlock>{
public override ActionResult Index(MyBlock currentContent){
Guid hostingPageId = ????
}
}
我已经浏览了BlockData
和ContentData
类,但它们似乎没有任何对主机的引用。
我可以从控制器上下文中获取当前页面的 ID 吗?
>EPiServer 的 PageRouteHelper 正是用于此目的。
它有一个属性 Page,用于返回当前请求上下文的当前 Page。
所以你的代码将变成:
public class MyBlockController : BlockController<MyBlock>
{
private readonly PageRouteHelper _pageRouteHelper;
public override ActionResult Index(MyBlock currentContent)
{
Guid hostingPageId = _pageRouteHelper.Page.PageGuid;
}
}