有没有办法可以通过转发器的模板访问webpart的属性(反之亦然)?
<div ID="RepeaterWrapper" runat="server">
<cms:CMSRepeater ID="repItems" runat="server">
<ItemTemplate>
<div class="col-sm-4">
<!-- I want to access this div in my code behind or else have it access a property from the code behind-->
</div>
</ItemTemplate>
</cms:CMSRepeater>
</div>
我想设置内部div的颜色,我不能使用类,因为属性是以十六进制颜色给出的,所以它意味着几千个类!
最糟糕的情况我可以用一些js来做,但宁愿选择&#34;更纯粹的&#34;这样做的方式,如果它存在。
提前致谢
答案 0 :(得分:2)
假设您的数据源在返回的数据中具有该背景颜色,一旦您将数据源绑定到转发器,您就可以访问项目模板中的数据源。只需使用以下内容:
<div class="col-sm-4 <%# Eval("BgColorColumnName") %>">
现在,如果您想从实际的webpart本身设置一个值,您需要确保该属性是公共属性,然后您可以使用以下内容:
<div class="col-sm-4 <%# YourPublicPropertyName %>">
答案 1 :(得分:0)
所有物品的颜色是否相同?如果是每个项目,则修改您要拉的项目以包含值。
答案 2 :(得分:0)
如果这是在门户网站方法中,您可以从页面模板表中获取XML并从中获取值。由于它纯粹来自代码,并且它是转发器,因此通常需要将数据存储在转发器本身之外的某个位置(在您重复的项目中,或在当前页面形式的数据中)。
如果您可以从宏访问它,那么您可以使用CMS.MacroEngine.MacroContext.Current.ResolveMacro()来解析它并获取值。
您能否向我们提供有关div BG颜色存储位置的更多信息?为什么它必须在转发器本身?