Kentico 9 改造和复读机指南

Kentico 9 transformation and repeaters guidance

我正在尝试创建一个备忘录部分。我正在使用公司网站的新部分作为指南。每个备忘录都有一个从、到、日期、主题,然后是详细信息。

对于登录页面,我需要 table 布局中的日期、主题和发件人,我有一个用于列排序的 jquery 插件。

详情页只是详情

我有两个转换。我的主要有以下内容:

   <tr>
      <td>{%Date%}</td>
      <td><a href="{% GetDocumentUrl() %}">{%Re%}</a></td>
      <td>{%From%}</td>
    </tr>

我的选中项转换如下:

<section id="memoDetail">
    <ul>
      <li>To: <%# Eval("To") %></li>
      <li>From: <%# Eval("From") %></li>
      <li>Re: <%# Eval("Re") %></li>
      <li>Date: <%# Eval("Date") %></li>
      </ul>
  <div><%# Eval("Details") %></div>
</section>

当我用基本中继器尝试这个时,我将 table、thead、tbody 和结束标记放在 HTML 信封部分。这很好用,但它也在详细信息页面上放置了 table。

当我尝试基本的 table 中继器时,table 中没有数据。

当我需要去解决这个问题时,我有点不知所措。

最简单的做法是在您的页面模板上添加 2 个转发器:一个针对您的列表或 cms.menuitem 页面类型显示并进行着陆页列表转换。另一个显示您的 "selected" 项目转换并且仅显示 your.pagetype

确保在前后内容中包含您的开始和结束标记,这应该可以解决您的问题。

最佳实践方面的另一个建议。由于您有 2 个中继器检索相同的数据,因此您应该使用 "Page data source" Web 部件在一个 SQL 调用中获取所有数据而不是 2 个。然后在您的中继器中,指向 "Data source name" 属性 到数据源 Web 部件。此外,考虑为数据源 Web 部件设置部分缓存以获得更好的性能。