【发布时间】:2012-09-23 17:15:42
【问题描述】:
我正在使用 ASP.NET MVC3 创建博客,我想为它创建一个 tagCloud。
现在我的问题是如何将它放入列表中(我需要吗?),计算然后以不同的尺寸打印出来?
编辑:
我现在可以通过以下方式计算每个帖子中的每个标签:
Dictionary<string, int> tagLista = new Dictionary<string, int>();
foreach (Post post in Model)
{
foreach (Tag tag in post.Tags)
{
if (!tagLista.ContainsKey(tag.Name))
{
tagLista[tag.Name] = 1;
}
else
{
tagLista[tag.Name] += 1;
}
}
}
//Print out diff. sizes depending on count
foreach (KeyValuePair<string, int> pair in tagLista)
{
if (pair.Value <= 2)
{
<a class="minSize" href="@Href("~/Posts/Tags/" + pair.Key)">@pair.Key</a>
}
if (pair.Value > 2 && pair.Value <= 4)
{
<a class="medSize" href="@Href("~/Posts/Tags/" + pair.Key)">@pair.Key</a>
}
if (pair.Value > 4 && pair.Value >= 6)
{
<a class="maxSize" href="@Href("~/Posts/Tags/" + pair.Key)">@pair.Key</a>
}
}
现在的问题是它只显示当前页面上所有帖子的标签,而不是数据库中的所有标签。我应该怎么做呢?在这个视图(索引)的顶部,我使用:
@using Blog.Models;
@model IEnumerable<Post>
感谢您的帮助!
【问题讨论】:
标签: asp.net asp.net-mvc asp.net-mvc-3 tag-cloud