Sitecore 8:子布局(.ascx)中的数据源值为空/空

时间:2016-12-21 06:38:32

标签: sitecore sitecore8

我试图通过代码隐藏来访问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;
        }
    }

我做错了什么或可能是什么问题?

1 个答案:

答案 0 :(得分:0)

如果你得到你的物品效果图怎么办:

RenderingReference[] renderings = currentItem.GetRenderings();

然后,使用以下方法获取所需的渲染:

var rendering = renderings.Where(r => r.RenderingItem.ID != yourRenderingID)

最后,

rendering.Settings.DataSource  //This is the datasource id