我试图通过代码隐藏来访问sublayout的数据源值,并在数据源中获取空字符串。
以下是sitecore中我的Banner子布局的屏幕截图以及如何在演示中设置数据源值:
Banner Sublayout with Datasource location and template set
Banner sublayout added to presentation and datasource set to an item
以下是我用来检索数据源的代码:
using Sitecore.Data.Items;
using Sitecore.Web.UI.WebControls;
using System;
using System.Web.UI;
public partial class Banner : UserControl
{
private Item _dataSource = null;
public Item DataSource
{
get
{
if (_dataSource == null)
if (Parent is Sublayout)
{
_dataSource = Sitecore.Context.Database.GetItem(((Sublayout)Parent).DataSource);
}
return _dataSource;
}
}
private void Page_Load(object sender, EventArgs e)
{
var test = DataSource;
Item a = Sitecore.Context.Item;
}
}
我做错了什么或可能是什么问题?
答案 0 :(得分:0)
如果你得到你的物品效果图怎么办:
RenderingReference[] renderings = currentItem.GetRenderings();
然后,使用以下方法获取所需的渲染:
var rendering = renderings.Where(r => r.RenderingItem.ID != yourRenderingID)
最后,
rendering.Settings.DataSource //This is the datasource id