액세스. 나는 자식 개체 (위치)의 그룹을 반복하고, 각각에 대한 몇 가지 정보를 표시합니다.간단한 Sitecore ASP 리피터 - 나는 여기에 아주 기본적인 sitecore의 질문이 필드
반복을 수행하기 위해 ASP 반복기를 사용하고 있습니다. 페이지로드시 아이들을 얻고 있으며, 정보를 표시하기 위해 sc 태그를 사용하려고합니다. 그러나 표시하지는 않습니다. 페이지에서.
는 아무도 내가 여기에 누락 무엇을보고 나를 도울 수 있습니까? 뒤에
코드 :
protected void Page_Load(object sender, EventArgs e)
{
var item = Sitecore.Context.Item;
var children = new List<Sitecore.Data.Items.Item>();
foreach (var child in item.GetChildren())
{
children.Add((Sitecore.Data.Items.Item)child);
}
LocationsRpt.DataSource = children;
LocationsRpt.DataBind();
}
마크 업 : 내가 대답 후
<asp:Repeater runat="server" ID="LocationsRpt" OnItemDataBound="LocationsRptItemDataBound">
<ItemTemplate>
<div class="InnerContentSec clearfix">
<div id="AboutSolar" class="AboutSolar clearfix">
<div class="items">
<h3>
<sc:Text runat="server" ID="Title"/>
</h3>
<div class="LocationBlock clearfix">
<div class="ImgSec">
<sc:Image id="Image" runat="server" Width="185" Height="107" />
</div>
<div class="DescSec">
<p><sc:Text ID="ShortDescription" runat="server" /></p>
</div>
</div>
</div>
</div>
</div>
</ItemTemplate>
</asp:Repeater>
그리고 마지막으로 DataItemBound
내가 너무 빨리protected void LocationsRptItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
var subItem = e.Item.DataItem as Item;
if (subItem != null)
{
var appTitle = e.Item.FindControl("Title") as Sitecore.Web.UI.WebControls.Text;
if (appTitle != null)
{
appTitle.DataSource = subItem.ID.ToString();
appTitle.Field = "Application Title";
appTitle.DataBind();
}
var appImage = e.Item.FindControl("Image") as Sitecore.Web.UI.WebControls.Image;
if (appImage != null)
{
appImage.DataSource = subItem.ID.ToString();
appImage.Field = "Location Image";
appImage.DataBind();
}
var shortDescription = e.Item.FindControl("ShortDescription") as Sitecore.Web.UI.WebControls.Text;
if (shortDescription != null)
{
shortDescription.DataSource = subItem.ID.ToString();
shortDescription.Field = "Short Description";
shortDescription.DataBind();
}
}
}
}
컬렉션의 필드를 실제로 사용하는 코드가 없습니다. 그들은 LocationsRptItemDataBound 이벤트 핸들러에 있습니까? –
은 항목 데이터 바운드 이벤트에 내 추가했습니다. –