BlogEngine.NET默认的Tags显示太单调了,俺们的世界是五彩缤纷的。我们要修改App_Code/Controls/TagCloud.cs文件,让他每次生成的tags都是随机彩色的。在开始之前,建议大家看下C#随机颜色及随机数的问题。
先添加一个方法RandomColor(),用来随机颜色,代码如下。
private static string RandomColor(string key, Random randomName)
{
string keyColor = Convert.ToString(randomName.Next(0, 16777215), 16);
return "\" style=\"color:#" + keyColor;
}
然后在RenderControl()里加入我们的方法,修改后的为
public override void RenderControl(HtmlTextWriter writer)
{
if (WeightedList.Keys.Count == 0)
{
writer.Write("" + Resources.labels.none + "
");
}
Random randomColoroo = new Random();
writer.Write("");
foreach (string key in WeightedList.Keys)
{
writer.Write("- ");
writer.Write(string.Format(LINK, Utils.RelativeWebRoot + "?tag=/" + HttpUtility.UrlEncode(key), WeightedList[key] + RandomColor(key, randomColoroo), "Tag: " + key, key));
writer.Write("");
}
writer.Write("
");
writer.Write(Environment.NewLine);
}
演示站点可以参考
俺的tags当然你可以下载我已经修改好的,覆盖到对应目录即可。
雷击下载tags.zip