如何使用Sitecore控件在子布局中呈现媒体库项目图像?对于具有"图像"字段的普通内容项,它只是一块蛋糕......只需使用sc:Image或FieldRenderer控制.但我有这样的事情:
<asp:Repeater ID="rptImages" runat="server">
<ItemTemplate>
<sc:FieldRenderer ????>
</ItemTemplate>
</asp:Repater>
Run Code Online (Sandbox Code Playgroud)
而背后的代码:
rptImages.DataSource = Sitecore.Context.Database.SelectItems("/sitecore/Media Library/Images/Some Image Folder/*")
rptImages.DataBind();
Run Code Online (Sandbox Code Playgroud)
那么...... ItemTemplate会发生什么?我可以使用ItemDataBound事件来做一些手动分配,但是我不清楚如何去做.我觉得我在这里错过了一些非常简单的东西.
我使用本指南安装了干净的Sitecore 6.6并启用了MVC支持.所以我的环境是Sitecore 6.6,ASP .NET MVC 3和Razor,Microsoft SQL Server Express 2012,IIS 7.5,我正在使用Microsoft Visual Studio 2012 Express for Web.我有以下代码:
@Model.PageItem.Fields["Title"];<br />
@Model.PageItem.Fields["Image"].GetValue(true, true);<br />
@Model.PageItem.Fields["Text"];<br />
Sitecore.Data.Items.MediaItem item = Model.PageItem.Fields["Image"].Item;
@Sitecore.StringUtil.EnsurePrefix('/', Sitecore.Resources.Media.MediaManager.GetMediaUrl(item));<br />
Run Code Online (Sandbox Code Playgroud)
结果很简单:
Sitecore
<image mediaid="{4DFD3ABC-0BC0-41D2-BD38-705946A1368A}" mediapath="/Images/xbox" src="~/media/4DFD3ABC0BC041D2BD38705946A1368A.ashx" />
<p>Welcome to Sitecore</p>
/sitecore/shell/~/media/110D559FDEA542EA9C1C8A5DF7E70EF9.ashx
Run Code Online (Sandbox Code Playgroud)
当我导航到最后一行中指定的路径时,我得到以下错误:
HTTP Error 404.0 - Not Found
The resource you are looking for has been removed, had its name changed, or is temporarily unavailable.
Run Code Online (Sandbox Code Playgroud)
我试了几件事,例如: