我使用此guide安装了干净的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 />
结果很简单:
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
当我导航到最后一行中指定的路径时,我得到以下错误:
HTTP Error 404.0 - Not Found
The resource you are looking for has been removed, had its name changed, or is temporarily unavailable.
我尝试过几件事,例如:
当然,在每次更改后(以防万一)我重新启动服务器并清除了浏览器的缓存(实际上,在几次请求后我已禁用了chrome的缓存)。
我一直在寻找sdn.sitecore.net上的解决方案而没有运气。实际上我到目前为止花了3个多小时寻找解决方案,无法弄清楚出了什么问题......任何帮助或建议都值得赞赏!
答案 0 :(得分:6)
Sitecore.Mvc.Helpers.SitecoreHelper类的Field方法将允许您输出Image字段。
以下是输出三个字段的视图渲染示例:
@using Sitecore.Mvc.Presentation
@using Sitecore.Mvc
@model RenderingModel
@Html.Sitecore().Field("Title")<br />
@Html.Sitecore().Field("Image")<br />
@Html.Sitecore().Field("Text")<br />
John West在Sitecore MVC上发表了大量博客,您可能希望查看他的About MVC Helpers with the Sitecore ASP.NET CMS帖子。