我希望用戶能夠使用下拉列表Sitecore的MVC標準渲染參數
我創建了從標準渲染參數繼承爲基礎模板和標準值有$一個新的模板選擇背景顏色名令牌
這裏是模板顏色的定義:
ColorName --- DropLink ---/Sitecore的/內容/首頁/全球/顏色
[SitecoreType(TemplateId = "{55DB8F6A-807D-48F8-A3D1-D81037938F13}", AutoMap = true)]
public interface IColor:IContentBase
{
string ColorName { get; set; }
}
我也創建模板的多個實例(紅,藍,綠)
然後我給你顏色模板的ViewRendering作爲參數。
最後,CSHTML文件中,我嘗試讀取這個參數
@using Glass.Mapper.Sc
@model INews
<H3> Hot News: </H3>
@{
var rendering = RenderingContext.Current.Rendering;
string id = rendering.Parameters["ColorName"];
var context = new SitecoreContext();
var result=context.GetItem<IColor>(new Guid(id));
}
<div style="background-color: @NewsRepository.GetBackgroundColor(rendering);" class="panel-body">
<br/>
<span>@result.ColorName</span><br/>
@Model.Title
</div>
結果總是{55DB8F6A-807D-48F8-A3D1-D81037938F13},而我希望的 「綠色」。還試圖使用SiteMap API的GlassMapper instaed但仍然得到Guid。
謝謝您的回答。 我已經定義了IColor類。但玻璃映射返回Guid –
你需要更新你的原始問題的細節,但它應該工作。確保您已發佈所有模板和項目。 – jammykam