Twitter bootstrap 3 肯蒂科';s在中继器和转换中的Web部件控件ID值

Twitter bootstrap 3 肯蒂科';s在中继器和转换中的Web部件控件ID值,twitter-bootstrap-3,kentico,bootstrap-accordion,Twitter Bootstrap 3,Kentico,Bootstrap Accordion,我正在制作一个基于bootstrap的手风琴。它就快到了,除了我需要用一个带有唯一ID的标签来包装每个手风琴。我的想法是使用repeaters控件ID。那么我如何从转换和HTML信封中访问它呢 这是来自repeater的HTML信封 马克,我不确定这是最好的解决方案,但它应该适合你。将服务器端功能添加到转换中,如下所示: <script runat="server"> protected string GetID() { Control pare

我正在制作一个基于bootstrap的手风琴。它就快到了,除了我需要用一个带有唯一ID的标签来包装每个手风琴。我的想法是使用repeaters控件ID。那么我如何从转换和HTML信封中访问它呢

这是来自repeater的HTML信封


马克,我不确定这是最好的解决方案,但它应该适合你。将服务器端功能添加到转换中,如下所示:

<script runat="server">
  protected string GetID()
    {      
      Control parent = this;      
      while ( (!(parent is CMSWebParts_Viewers_Documents_cmsrepeater)) && 
             (parent != null))
      {
        parent = parent.Parent;
      }      
      return (parent as CMSWebParts_Viewers_Documents_cmsrepeater).WebPartID;
    }
</script>
<%# GetID() %>

受保护的字符串GetID()
{      
控制父项=此;
而((!(家长是CMSWebParts\u Viewer\u Documents\u cmsrepeater))和
(父项!=null))
{
父=父。父;
}      
返回(作为CMSWebParts\u Viewer\u Documents\u cmsrepeater的父级);
}
并在转换中调用此方法,如下所示:

<script runat="server">
  protected string GetID()
    {      
      Control parent = this;      
      while ( (!(parent is CMSWebParts_Viewers_Documents_cmsrepeater)) && 
             (parent != null))
      {
        parent = parent.Parent;
      }      
      return (parent as CMSWebParts_Viewers_Documents_cmsrepeater).WebPartID;
    }
</script>
<%# GetID() %>

马克,我不确定这是最好的解决方案,但它应该适合你。将服务器端功能添加到转换中,如下所示:

<script runat="server">
  protected string GetID()
    {      
      Control parent = this;      
      while ( (!(parent is CMSWebParts_Viewers_Documents_cmsrepeater)) && 
             (parent != null))
      {
        parent = parent.Parent;
      }      
      return (parent as CMSWebParts_Viewers_Documents_cmsrepeater).WebPartID;
    }
</script>
<%# GetID() %>

受保护的字符串GetID()
{      
控制父项=此;
而((!(家长是CMSWebParts\u Viewer\u Documents\u cmsrepeater))和
(父项!=null))
{
父=父。父;
}      
返回(作为CMSWebParts\u Viewer\u Documents\u cmsrepeater的父级);
}
并在转换中调用此方法,如下所示:

<script runat="server">
  protected string GetID()
    {      
      Control parent = this;      
      while ( (!(parent is CMSWebParts_Viewers_Documents_cmsrepeater)) && 
             (parent != null))
      {
        parent = parent.Parent;
      }      
      return (parent as CMSWebParts_Viewers_Documents_cmsrepeater).WebPartID;
    }
</script>
<%# GetID() %>

虽然这不是我喜欢的方法,但我编写了一个快速的js代码片段。我尽量避免有太多的JS

手风琴*/ //我们首先检测DOM中是否有手风琴,如果看到,我们确保每个手风琴都有自己的名称空间 如果($accordion.length){ //我们需要页面上每个手风琴的ID,该ID随后成为数据父值,这是确保我们可以隔离手风琴所需的 $accordion.每个(功能(i、v){ 变量$this=$(this), $id=$this.attr('id'); //循环通过每个手风琴面板 $this.children('.panel')。每个(函数(){ var$that=$(this); $('panel title link',$that).attr('data-parent',$id); }); });
}虽然这不是我喜欢的方法,但我编写了一个快速的js代码片段。我尽量避免有太多的JS

手风琴*/ //我们首先检测DOM中是否有手风琴,如果看到,我们确保每个手风琴都有自己的名称空间 如果($accordion.length){ //我们需要页面上每个手风琴的ID,该ID随后成为数据父值,这是确保我们可以隔离手风琴所需的 $accordion.每个(功能(i、v){ 变量$this=$(this), $id=$this.attr('id'); //循环通过每个手风琴面板 $this.children('.panel')。每个(函数(){ var$that=$(this); $('panel title link',$that).attr('data-parent',$id); }); });
}为什么不直接使用中继器的ClientID


在这种情况下,Try容器应该引用正在运行转换的中继器。

为什么不使用中继器的ClientID呢



在这种情况下,Try容器应该引用正在运行转换的转发器。

是否使用嵌套转发器?我有一个转发器和一个转换。我已经用一些代码更新了原始问题。因此页面上应该有多个手风琴,我想现在我不会,但我正在尝试将来验证多个手风琴的可能性。我正在阅读以下内容:。我将使用的是GetValue(“”)吗?您使用嵌套的中继器吗?我有一个中继器和一个转换。我已经用一些代码更新了原始问题。因此页面上应该有多个手风琴,我想现在我不会,但我正在尝试将来验证多个手风琴的可能性。我正在阅读以下内容:。我会使用GetValue(“”)吗?这是可行的,但结果不是我所期望的。GetID()返回repItems,它不是web部件属性面板中的值。对象父对象中还有哪些其他项?导致此错误的项:[TempITemplate.Template]::错误CS1061:“bool”不包含“WebPartID”的定义,并且找不到接受类型为“bool”的第一个参数的扩展方法“WebPartID”(是否缺少using指令或程序集引用?)@返回行中的标记更改为“as”。很抱歉。我建议注册一个单独的宏方法()。。。这样,您可以生成与显示项目相同的代码。如果只显示一个项目,这很好,但是如果有N个,代码将被冗余渲染N-1次,这可能会导致性能问题这是可行的,但结果不是我所期望的。GetID()返回repItems,它不是web部件属性面板中的值。对象父对象中还有哪些其他项?导致此错误的项:[TempITemplate.Template]::错误CS1061:“bool”不包含“WebPartID”的定义,并且找不到接受类型为“bool”的第一个参数的扩展方法“WebPartID”(是否缺少using指令或程序集引用?)@返回行中的标记更改为“as”。很抱歉。我建议注册一个单独的宏方法()。。。这样,您可以生成与显示项目相同的代码。如果只显示一个项目,这很好,但是如果有N个,代码将被冗余渲染N-1次,这可能会导致性能问题。用于折叠面板的引导javascript插件需要HTML ID。谢谢。用于折叠面板的引导javascript插件需要HTML ID。