我想实现一个自动的tagcloud,所以我需要有一个不同标签的列表,每个标签的博客帖子数。
基本上使用2sxc博客文章的结构
"Posts": [
{
"Title": "xxx",
"KeyURL": "xxx",.......
"Tags": [
{
"Id": 1,
"Title": "A"
},
{
"Id": 2,
"Title": "B"
},....
]
},
{
"Title": "yyy",
"KeyURL": "yyy",.......
"Tags": [
{
"Id": 1,
"Title": "A"
},....
]
}
]
我可以使用以下代码获取所有帖子
var posts = AsDynamic(Data["Posts"]);
然后,我尝试获取所有标签和每个标签的计数,但我无法找到错误的地方。
var result = postsToShow.SelectMany(x => x.Tags)
.GroupBy(x => x)
.Select(x => new
{
Tag = x.Key,
PostCount = x.Count()
});
我只想得到一张清单
Tagname: A Count 2
Tagname: B Count 1