对于 Glass.Mapper BeginRenderLink被描述为渲染应该包含多个 HTML 元素的链接的方法:http: //glass.lu/docs/tutorial/sitecore/tutorial22/tutorial22.html
我想添加的是该链接的自定义属性(类、样式):
<% using (BeginRenderLink(x => x.Image1Link,
new NameValueCollection
{ { "class", "image-banner" }, { "style", string.Format("background-image: url({0})", Model.Image1.Src) } }, true))
{ %>
<span class="image-banner-wrapper">
<span class="image-banner-content"><%= Editable(x => x.Image1Text) %></span>
</span>
<% } %>
此附加属性在正常模式下工作正常,但在编辑模式下不显示。
以下是在 Glass.Mapper 源代码中为 BeginRenderLink 找到的内容:
if (IsInEditingMode && isEditable)
{
return MakeEditable(field, null, model, "haschildren=true", _context, SitecoreContext.Database, writer);
}
else
{
return BeginRenderLink(field.Compile().Invoke(model) as Fields.Link, attrs, string.Empty, writer);
}
所以如果是编辑模式,不应用附加属性,只传递“haschildren=true”。
我想知道有人以某种方式解决这个问题吗?