0

要从页面中检索图像 URL,我会:

@UI.Content(Model.Regions.ProfilePicture.Id)

但是如何从当前站点区域获取图像?

4

1 回答 1

2

如果您正在运行 ASP.NET WebPages 并且您的布局页面继承自 Piranha.WebPages.LayoutPage 您可以使用以下方法从布局页面访问站点模型:

@Model.Regions....

但是,由于 MVC 中的布局页面没有以相同的方式获得单独的模型,因此您必须手动加载它。要加载当前站点模型,您可以使用以下代码并将其传递给您的视图:

if (Page.Current != null) {
  MySiteModel = Models.PageModel.GetBySite(Page.Current.SiteTreeId) ;
} else MySiteModel = Models.PageModel.GetBySite(Config.SiteTreeId) ;

这将为当前页面的站点加载站点模型,或者如果您不在页面上,则加载当前站点树 ID。如您所见,站点模型实际上是附加到站点根目录的特殊页面模型。

于 2013-10-21T20:41:50.940 回答