Вы должны действительно подумать только об использовании шаблона одного продукта с полем «Имя продукта» и поле «Изображение продукта» вместо того, чтобы иметь элементы с отдельными полями под продуктом. Но если это ваше требование, вот как вы это сделаете.
SubLayout (или макет в случае необходимости)
<div>
<sc:Text runat="server" id="txtProductName" Field="ProductName"/>
<sc:Image runat="server" id="imgProductImage" Field="ProductImage"/>
</div>
Затем в коде позади вас будет принимать текущий элемент (продукт и найти дочерний элемент, который соответствует тому, что вы ищете, и назначить его в качестве поле элемент.
private void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindData();
}
}
private void BindData()
{
txtProductName.Item = Sitecore.Context.Item.Children.FirstOrDefault(x => x.TemplateID == Constants.Templates.ProductName);
imgProductImage.Item = Sitecore.Context.Item.Children.FirstOrDefault(x => x.TemplateID == Constants.Templates.ProductImage);
}
В моем примере я его решение ищу элемент типа шаблона X, но вы могли бы пойти по имени или каким-либо другим способом познания.
MVC или WebForms? –
через webforms - спасибо за ответ – user3779703