【问题标题】:Nested list within asp.net repeaterasp.net 中继器中的嵌套列表
【发布时间】:2010-09-24 11:24:38
【问题描述】:

我有一个中继器,看起来像这样:

<HeaderTemplate>
    <div>
</HeaderTemplate>
<ItemTemplate>
<asp:PlaceHolder runat="server" id="plhContent"/>
</ItemTemplate>
<FooterTemplate>
    </div>
</FooterTemplate>

然后我有一个如下所示的数据集:

Title | Category
"Title1","Legal"
"Title2","Legal"
"Title3","Finance"
"Title4","Accounting"

数据集按类别排序。

我试图实现的输出是:

<div><!-- from headertemplate -->
    <div id="legal">
        <ul>
            <li>Title 1</li>
            <li>Title 2</li>
        </ul>
    </div><!--end legal div-->
    <div id="Finance">
        <ul>
            <li>Title 3</li>
        </ul>
    </div><!--end finance div-->
    <div id="Accounting">
        <ul>
            <li>Title 4</li>
        </ul>
    </div><!--end accounting div-->
</div><!-- from footertemplate -->

但是我真的在逻辑上苦苦挣扎。在我的代码中,我基本上得到了:

Add a bulleted list
Add a listitem

但这会给“title2”行带来问题,因为它不需要新的项目符号列表,它只需要在转发器的上一次迭代中将新的列表项添加到项目符号列表中。

我怎么可能做到这一点?

提前致谢 铝

【问题讨论】:

    标签: c# asp.net repeater


    【解决方案1】:

    一种选择是创建某种临时结构来保存 DataSet 的内容,以使中继器能够处理以按照您需要的方式显示信息。

    我正在考虑把它变成一个类别列表,每个类别都是一个项目列表。然后你像这样浏览 DataSet 项目(伪代码):

    对于每个项目 如果类别列表中不存在类别 创建“类别项目”列表 将项目(标题)添加到列表中 将此列表添加到类别列表中 别的 找到类别 将项目(标题)添加到列表中

    中继器应该能够处理它

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-29
      • 1970-01-01
      • 2019-08-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多