【发布时间】:2016-03-18 13:14:07
【问题描述】:
这对我有用,但想知道这是正确的方法还是有更好的方法来显示设置为子布局的数据源的项目。
sample.ascx
<sc:Text ID="txtHeader" runat="server" Field="Header" />
<br/>
<sc:Image ID="imgMotif" runat="server" Field="Motif Left" />
<br/>
<!-- some more controls -->
sample.ascx.cs
private void BindData()
{
Item introItem = GetItemFromDatasource((Sublayout)this.Parent);
if(introItem != null)
{
txtHeader.Item = introItem;
imgMotif.Item = introItem;
//..and so on..
}
}
private Item GetItemFromDatasource(Sublayout sublayout)
{
Item dataSource = null;
if (sublayout != null)
{
Guid dataSourceId;
if (Guid.TryParse(sublayout.DataSource, out dataSourceId))
dataSource = Sitecore.Context.Database.GetItem(new ID(dataSourceId));
}
return dataSource;
}
【问题讨论】: