0
我不確定這是否正確,但仍然繼續。 模板具有這些領域如何將圖像從TreelistEx綁定到Sitecore中繼器
Description [Rich Text]
Images [TreelistEx]
用戶將選擇使用TreelistEx領域,後來將顯示在一個轉盤從媒體庫中的照片。用戶還應該能夠編輯這些圖像。
我的代碼沒有顯示任何圖像。
ASPX:
<div class="toggle_1bs">
<asp:Repeater ID="rpImages" runat="server" OnItemDataBound="rpImages_ItemDataBound"
ItemType="Sitecore.Data.Items.Item">
<HeaderTemplate>
<div id="1bs" class="owl-carousel">
</HeaderTemplate>
<ItemTemplate>
<div class="item">
<sc:Image ID="imgMain" Field="Images" runat="server" CssClass="img-full"
Item="<%#Container.DataItem %>"/>
</div>
</ItemTemplate>
<FooterTemplate>
</div>
</FooterTemplate>
</asp:Repeater>
</div>
aspx.cs:
private void BindData()
{
//bind data to the repeater
MultilistField offerImages = (MultilistField)offerDetails.Fields["Images"];
rpImages.DataSource = offerImages.GetItems();
rpImages.DataBind();
}
protected void rpImages_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
var mainItem = (Item)e.Item.DataItem;
if (mainItem != null)
{
var imgMain = (Image)e.Item.FindControl("imgMain");
if(imgMain != null)
{
if (!string.IsNullOrEmpty(MediaManager.GetMediaUrl(mainItem)))
imgMain.DataSource = MediaManager.GetMediaUrl(mainItem);
//Response.Write(MediaManager.GetMediaUrl(mainItem));
}
}
}
有2個圖像使用樹形列表控制添加,我可以看到呈現爲2倍的圖像的HTML(<div class="item"></div>
)。
這並顯示圖像,但用戶無法對其進行編輯。爲了使圖像可編輯,我想我應該添加每個圖像作爲一個項目,然後使用'sc:image'。是對的嗎。任何其他方式? – Qwerty
由於您的中繼器有一個項目類型,您可以直接像這樣調用該項目。這是否顯示可編輯的圖像?另外,你可以調試這條線並檢查該項目。該項目上是否存在稱爲圖像的字段?」/> –
正如我上面所寫,不能使用'sc:image'樹形列表。你應該閱讀關於編輯框架和自定義按鈕。 –