如何在一个应用程序中使用两个数据列表?

时间:2016-09-21 22:41:30

标签: dotnetnuke-module 2sxc

我用一个列表创建了几个应用程序,但在这个特定区域我想在一个应用程序中使用两个列表。有没有办法可以做到这一点,如果是这样,我如何在转发器/循环中引用正确的列表?

以下是我如何迭代目前列表中项目的示例:

@foreach (var e in List)
    {
        var Content = e.Content;
        <div class="col-md-3 col-sm-4">
            <div class="staff-info" style="background-image: url('@Content.StaffPhoto'); background-size: cover;">
            @Edit.Toolbar(Content)
                <div class="staff-label">
                    <p class="fullname upper">@Content.Name</p>
                    <p class="jobtitle upper">@Content.Title</p>
                    <hr style="border-color:white; max-width: 90%">
                    <p class="staff-quote"> “@Content.Quote”</p>
                </div>
            </div>
        </div>
    }

1 个答案:

答案 0 :(得分:0)

这很容易做到。首先,最好直接迭代数据流,然后是list-object(这是一种较旧的方式,但仍然有效)。所以你的循环更像是

@foreach(var cont in AsDynamic(Data["Default"])) {
        <div class="col-md-3 col-sm-4">
            <div class="staff-info" style="background-image: url('@cont.StaffPhoto'); background-size: cover;">
            @Edit.Toolbar(cont)
                <div class="staff-label">
                    <p class="fullname upper">@cont.Name</p>
                    <p class="jobtitle upper">@cont.Title</p>
                    <hr style="border-color:white; max-width: 90%">
                    <p class="staff-quote"> “@cont.Quote”</p>
                </div>
            </div>
        </div>
}

默认流与List是同一组信息,如果您需要演示项目,则可以将它们作为项目的属性,如cont.Presentation

现在,如果您有来自查询的其他流,则只需将数据[&#34;默认&#34;]替换为该流名称,例如Data["SortedCategories"]

或者,如果您想从整个应用程序中获取某个类型的所有项目,您可以浏览App-object并循环遍历App.Data["Categories"]并继续从那里开始。