【发布时间】:2015-03-29 05:50:02
【问题描述】:
我有一个树视图,它显示了类别和与它们相关的文件。我遇到的是每个类别都显示多次并显示每次上传时添加的新文件。我想要做的是显示一次类别,然后显示它下面的每个项目。
我尝试将 foreach 移动到文件链接的正上方,但后来我不知道如何显示类别名称。
这是我当前的标记
<div role="tabpanel" class="tab-pane" id="tree">
@if (Model.Collaboration.Files.Any())
{
foreach (var file in Model.Collaboration.Files)
{
<div class="treeview">
<ul>
<li>
<input type="checkbox" />
<label>
@if (file.Category != null)
{
<span>@file.Category.Name</span>
}
else
{
<span>Uncategorized</span>
}
</label>
<ul>
<li>
@Html.ActionLink(file.Filename, "ShowFile", "Attachments", new { @id = file.Id, collaborationId = Model.Collaboration.Id }, new { target = "_blank" })
</li>
</ul>
</li>
</ul>
</div>
}
}
</div>
我的模特
public class AttachmentCategory
{
[DataMember]
public string Name { get; set; }
[DataMember]
public string Description { get; set; }
}
【问题讨论】:
-
您将嵌套循环(
Category的外循环和文件类别集合的内循环).. 您需要发布您的模型(Category的类型应该有IEnumerable<File> Files或类似的 -
请多解释。我不明白
-
好的,我假设您没有一个模型来代表您想要显示的内容,在这种情况下您需要创建一个。我会尽快发布答案。
-
我添加了一个模型。我只需要显示名称,然后显示来自它们下的单独模型的所有项目
标签: c# asp.net asp.net-mvc razor treeview