Я хочу, чтобы пользователь мог выбрать цвет фона, используя раскрывающийся список
Я создал новый шаблон, который наследуется от стандартных параметров рендеринга в качестве базового шаблона, а стандартное значение имеет токен $name.
Вот определение цвета шаблона:
ColorName---DropLink---/sitecore/content/Home/Global/Colors
[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}, тогда как я ожидаю «Зеленый». Также пытался использовать API-интерфейсы Sitecore вместо GlassMapper, но все равно получаю Guid .