返回首页

|链接云,以应付大比重的变化:{A}
{S0}
示例图像从生活{A2}采取。简介
许多网站使用标签云来显示标签是最流行的,在其网站上,并允许通过点击这些标签开始的搜索。云在每个标签分配一个加权;更大的比重较受欢迎的标签。这个比重,然后翻译成标记的文本的字体大小;比重越大,使用更大的字体大小。大多数人同意,标签云作了{A3},采取的第一个大型网站的流行。
这是一个简单但灵活的标签云控制(我将把为纽带云)处理以及大比重的差异,目前与权值较大的差距与标签/链接。可以很容易地控制下降到任何ASP.NET网站。背景
我想添加一个标签云略有变化{A4}(使用环节,而不是标签),但跑的限制与现有的标签云的实现:一些云太"; tagquot;重点;我们希望提供的链接,而不是标签的云。有些解决方案没有足够的灵活性,允许在标记的URL,或有限的文字一个字。也不能应付现有的标签云(上浆标记文本)的比重巨大的变化。我们要插入一个标签云数据通常有比重,从10年代到千",与比重之间的巨大差距。使用代码
使用此控件,您需要复制的LinkCloud.ascx文件到自己的项目。一旦它被复制,打开页面,您计划实施的链接云,并添加顶端:

<%@ Register TagPrefix="GavDev" TagName="LinkCloud" Src="LinkCloud.ascx" %>

这将允许您使用控制在页面使用下面的声明:{C}
链接云控制暴露了一些可以调整的属性,以获得所需的字体大小,从你的云:DominantFontSize - 最常见的加权值使用的字体大小(像素)。这可以防止大多数被显示过小或过大的联系。MinFontSize - 最小的字体大小(像素),最小的加权值。MaxFontSize - 最大的字体大小(像素),最大的权值。
添加您的链接到云,你需要为每个要添加的链接调用AddLink。 AddLink需要的参数是:文本 - 文本显示给用户。URL - 网址链接被点击时,应遵循。重量 - 重量将用于确定字体大小的文本将显示英寸的链接
一旦你添加你的链接,你需要调用DataBind,以显示你的云中的所有链接。兴趣点
链接云所面临的一个问题是,大部分的链接可能会显示过大或过小,如果数据是偏向,对规模较大或较小的的比重。对于一个良好的审美期待,DominantFontSize财产进行了介绍。通过扫描所有环节都看到这是最流行的加权比重分配的DominantFontSize。如果没有一个占主导地位的比重目前,我们中的比重,而不是简单地使用。这有助于在我们的大多数云提供一个很好的审美,但不是100%有效;有时更小或更大的字体大小会错过从云,但是这似乎更好地工作,比极端任一端有一种偏见。
这个环节云最有趣的功能是如何转换为字体大小的比重。其他云控制不会在那里工作与加权值的巨大差异,通常在10至千的使用{A4}'s的数据的范围。公平的审判和错误位后,我发现,这是一种技术含量低的的方法工作最好的网站:
控制解决该问题的方式是建立一个云,使字体大小可分配给他们使用以下过程中的所有不同的加权值的列表:最流行的或中点加权设置的DominantFontSize值。拆分MinFontSize和DominantFontSize字体大小之间的剩余范围的比重较低值。这是反过来,不同的加权值列表,并指派下一个最小的字体大小,我们下一个最小的比重。
例如:
weighting 100 = font size 12

weighting 99 = font size 11

weighting 10 = font size 10 (a big jump in weighting, 

                             but an incremental jump in font size)
拆分DominantFontSize和MaxFontSize字体大小之间的剩余范围的比重较高值。这是反过来,不同的加权值列表,我们下一个最高的加权分配的下一个最大的字体大小。
例如:
weighting 200 = font size 14

weighting 4,050 = font size 15 (a big jump in weighting, 

                                but an incremental jump in font size)

weighting 4,051 = font size 16
历史3月04,2009 - 原来的文章和代码。|加文哈里斯

回答

评论会员: 时间:2