显示选定转换的Kentico Repeater HTML属性

显示选定转换的Kentico Repeater HTML属性,kentico,Kentico,我的HTML信封将我的repeater转换包装在一个表标记中。如果不使用JS,我如何确保此HTML对于所选转换不可见。我不反对为选定的转换数据使用模板,只是不确定如何做到这一点 以下是我的转变: <tr> <td><%# FormatDate(Eval("Date")) %></td> <td><a href="<%# GetDocumentUrl() %>"><%# Eval("Subject

我的HTML信封将我的repeater转换包装在一个表标记中。如果不使用JS,我如何确保此HTML对于所选转换不可见。我不反对为选定的转换数据使用模板,只是不确定如何做到这一点

以下是我的转变:

<tr>
   <td><%# FormatDate(Eval("Date")) %></td>
   <td><a href="<%# GetDocumentUrl() %>"><%# Eval("Subject") %></a></td>
   <td><%# Eval("From") %></td>
</tr>
<section id="memoDetail">
  <h1>Memorandum</h1>
  <ul id="memoHeader">
   <li><span class="headerLabel">To:</span> <%# Eval("To") %></li>
   <li><span class="headerLabel">From:</span> <%# Eval("From") %></li>
   <li><span class="headerLabel">Subject:</span> <%# Eval("Subject") %></li>
   <li><span class="headerLabel">Date:</span> <%# Eval("Date") %></li>
  </ul>
  <div id="memoDetails"><%# Eval("Details") %></div>
</section>

这是我选择的转换:

<tr>
   <td><%# FormatDate(Eval("Date")) %></td>
   <td><a href="<%# GetDocumentUrl() %>"><%# Eval("Subject") %></a></td>
   <td><%# Eval("From") %></td>
</tr>
<section id="memoDetail">
  <h1>Memorandum</h1>
  <ul id="memoHeader">
   <li><span class="headerLabel">To:</span> <%# Eval("To") %></li>
   <li><span class="headerLabel">From:</span> <%# Eval("From") %></li>
   <li><span class="headerLabel">Subject:</span> <%# Eval("Subject") %></li>
   <li><span class="headerLabel">Date:</span> <%# Eval("Date") %></li>
  </ul>
  <div id="memoDetails"><%# Eval("Details") %></div>
</section>

备忘录
  • 致:
  • 发件人:
  • 主题:
  • 日期:

考虑从html信封中移动表标记,并在转换中有条件地呈现它们,如下所示:

// If this is the first item in the repeater, open the table tag
<%# DataItemIndex == 0 ? "<table>" : "" %>

  // your trasformation code

// if this is the last item in the repeater, close the table tag
<%# DataItemIndex + 1 == DataItemCount ? "</table>" : "" %>
{% ClassName == "CMS.MenuItem" ? "<table>" : "" #%}

如果列表和详细信息页面类型不同。另一个解决方案是在repeater的html信封属性中使用宏。例如,如果列表的页面类型为CMS.MenuItem,则属性应如下所示:

// If this is the first item in the repeater, open the table tag
<%# DataItemIndex == 0 ? "<table>" : "" %>

  // your trasformation code

// if this is the last item in the repeater, close the table tag
<%# DataItemIndex + 1 == DataItemCount ? "</table>" : "" %>
{% ClassName == "CMS.MenuItem" ? "<table>" : "" #%}
{%ClassName==“CMS.MenuItem”?”“:”“#%}

如果您有不同的页面类型用于列表和详细信息,您也可以将其用于可见性条件。这里我唯一的更改是使用IsFirst()和IsLast()。谢谢。酷,我不知道那些方法是可用的:我也不知道那些方法。谢谢我更喜欢这个。这是一种更清晰的关注点分离。