我正在尝试在CurrentPage
中获取Root.Master.cs
(如果是特定页面)的块,但是我找不到方法。
我试图用其ID(一个静态数字)加载block,但是Reviewer说您需要找到另一种方法。
public MapMode CurrentMapMode
{
get
{
if (!(CurrentPage is EstateDisplayPage))
return MapService.GetMapMode(Request.QueryString, CurrentPage as ISiteWithMap);
var block = ServiceLocator.Current.GetInstance<IContentLoader>()
.Get<IContent>(new ContentReference(10861)); //MapBlock ID: 10861
return MapService.GetMapMode(Request.QueryString, block as ISiteWithMap);
}
}
我需要找到另一种查找block
的方法,这里不需要将静态数字(ID
)传递给ContentRefrence
。 提前感谢
答案 0 :(得分:0)
这就是我在Blocks
上获得特定页面的Root.Master.cs
的目的。
public MapMode CurrentMapMode
{
get
{
if (!(CurrentPage is EstateDisplayPage))
return MapService.GetMapMode(Request.QueryString, CurrentPage as ISiteWithMap);
var page = CurrentPage as EstateDisplayPage;
foreach (var item in page.ContentArea.Items)
{
var block = ServiceLocator.Current.GetInstance<IContentLoader>()
.Get<IContent>(item.GetContent().ContentLink);
if (block is ISiteWithMap)
{
return MapService.GetMapMode(Request.QueryString, block as ISiteWithMap);
}
}
return MapMode.Google;
}
}