C# 从块访问当前页面';s控制器
我使用的是EpiServer7.7MVC,有一个场景,其中我有一个本地/全局块C# 从块访问当前页面';s控制器,c#,asp.net-mvc,episerver,episerver-7,C#,Asp.net Mvc,Episerver,Episerver 7,我使用的是EpiServer7.7MVC,有一个场景,其中我有一个本地/全局块MyBlockMyBlock有一个控制器MyBlockController。我需要获取调用MyBlockController的页面的ID: public class MyBlockController : BlockController<MyBlock>{ public override ActionResult Index(MyBlock currentContent){
MyBlock
MyBlock
有一个控制器MyBlockController
。我需要获取调用MyBlockController
的页面的ID:
public class MyBlockController : BlockController<MyBlock>{
public override ActionResult Index(MyBlock currentContent){
Guid hostingPageId = ????
}
}
公共类MyBlockController:BlockController{
公共覆盖操作结果索引(MyBlock currentContent){
Guid hostingPageId=????
}
}
我已经浏览了BlockData
和ContentData
类,但它们似乎没有任何主机引用
我可以从控制器上下文中获取当前页面的id吗?EPiServer具有用于此目的的id。它有一个属性,用于返回当前请求上下文的当前页面 因此,您的代码将变成:
public class MyBlockController : BlockController<MyBlock>
{
private readonly PageRouteHelper _pageRouteHelper;
public override ActionResult Index(MyBlock currentContent)
{
Guid hostingPageId = _pageRouteHelper.Page.PageGuid;
}
}
公共类MyBlockController:BlockController
{
专用只读PageRouteHelper _PageRouteHelper;
公共覆盖操作结果索引(MyBlock currentContent)
{
Guid hostingPageId=\u pageRouteHelper.Page.PageGuid;
}
}