如何计算/定位占位符上的usercontrol当前位置?

时间:2014-12-01 09:12:22

标签: c# asp.net sitecore sitecore6 sitecore7

对于我使用Sitecore CMS的项目。 HMTL输出。

<div class="carousel-item" item-position="1">
    ...
</div>
<div class="carousel-item" item-position="2">
    ...
</div>
<div class="carousel-item" item-position="3">
    ...
</div>

每个div元素代表占位符轮播中的Sitecore组件。属性项位置是占位符处Sitecore组件的当前位置。请记住,必须先执行Sitecore规则,然后才能在网站上看到组件。

有谁知道如何计算属性项目位置(1,2,3等)?

非常感谢。

的Jordy

1 个答案:

答案 0 :(得分:2)

最简单的方法可能是每次执行组件时手动计数,并将计数器值存储在Sitecore.Context.Items集合中,该集合是为单个请求共享的。像这样:

public static int GetComponentCount()
{
    var counter = Sitecore.Context.Items["myCounter"] as int?;
    var count = counter.HasValue ? (int)counter : 0;
    count = count + 1;
    Sitecore.Context.Items["myCounter"] = count;

    return count;
}

然后使用此方法获取组件中的当前组件数。