【发布时间】:2014-05-24 20:46:19
【问题描述】:
我在我网站的 app_code 部分创建了一个类,并将这个类实例化到我的宏中,但它似乎不起作用。我在一个 winform 应用程序中测试了 linq 和功能,并且似乎以我想要的方式工作......只是似乎没有使用宏进行渲染,这就是我所拥有的:
宏:
@using umbraco.MacroEngines
@using umbraco.MacroEngines.Library;
@inherits umbraco.MacroEngines.DynamicNodeContext
@{
DynamicNodeList pages = @Model.Children.Where("Visible").OrderBy("CreateDate desc");
}
@{
Common com = new Common();
List<string> tags = new List<string>();
string[] top10 = @com.GetTop10Tags(@pages);
foreach(string tag in @top10)
{
<ul>@tag</ul>
}
}
App_Code - 通用类:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using umbraco.MacroEngines;
using umbraco.MacroEngines.Library;
public class Common
{
public string[] GetTop10Tags(DynamicNodeList pages)
{
List<string> tags = new List<string>();
foreach (var node in pages)
{
string[] aTags = node.GetPropertyValue("postTags").Split(',');
foreach (string tag in aTags)
{
tags.Add(tag);
}
}
string[] orderedList = tags
.GroupBy(i => i)
.OrderByDescending(g => g.Count())
.Select(g => g.Key).Take(10).ToArray();
return orderedList;
}
}
有人知道这里的问题是什么吗? 错误:加载 MacroEngine 脚本时出错(文件:TagCloud.cshtml)
【问题讨论】:
标签: c# linq razor macros umbraco