我很好奇我是否可以以某种方式使Widget.Wrapper形状(或其他包装)可交替,因为它包含大多数小部件的HTML代码。我不喜欢cshtml文件中丰富的IF语句,因此我宁愿使用替代机制使用一个明确的解决方案 - 能够创建这样的替换语句:
Widget.Wrapper-[ZoneName].cshtml
Widget.Wrapper-[WidgetId].cshtml
Widget.Wrapper-url-[UrlAlternate].cshtml
等
这可能吗?或者包装纸是一个特例 - 在这种情况下为什么?
由于
答案 0 :(得分:0)
是的,这是可能的。 您可以使用IShapeTableProvider完成此操作。 抓住它渲染的窗口小部件的形状,决定你想要的包装器,然后添加一个新的包装器。
builder.Describe("YourShapeHere")
.OnDisplaying(displaying=>{
displaying.ShapeMetadata.Wrappers.Add("Widget_Wrapper-" + displaying.Shape.Id);
}
}