Skip to content

Codepolice

  • ⤫

Create a tag cloud with a limited amount of tags in ASP.NET and LINQ

Posted by Judy Alvarez Posted on February 25, 2022March 1, 2022
0

Today I built a Tag cloud for my new site. I found this great article about how to do it with LINQ and C#. But I missed some features. Especially how to limit the number of tags that were shown. So if you read that article and then have a look at this code if you have the same problem as me.

var tagSummary = (from ti in db.TagItemRelations
	group ti by ti.Tag.Text into tagGroup
	select new {
	Tag = tagGroup.Key,
	TagFrequency = tagGroup.Count()
}).OrderByDescending(x=>x.TagFrequency).Take(20);

int maxTagFrequency = (from t in tagSummary select t.TagFrequency).Max();

var tagCloud = (from ti in tagSummary
	select new TagCloudItem {
	Tag = ti.Tag,
	Weight = (double)ti.TagFrequency / maxTagFrequency * 100
}).OrderBy(x=>x.Tag);

The main difference between my code and the code in the article is that I have a slightly more complex data model (should not matter) and that I make the second query against the “result” from the first query. This allows me to first order by popularity and then in alphabetic order.

Please leave a comment if there is any better way to do this or if you have any questions.

Categories: JavascriptTagged: asp . net interview questions, asp .net core, asp dot net, asp net 5, asp net ajax, asp net boilerplate, asp net cache, asp net caching, asp net core 5.0, asp net core webapi, asp net dropdownlist, asp net identity, asp net mvc 5, asp net nedir, asp net session management, asp net vs php, asp net web api interview questions, asp net webforms, asp net zero, asp. net, connection string in asp net, cookies asp net, framework asp net, interview questions on asp net, is asp net a framework, php vs asp net, query string in asp net, web services in asp net, what is asp net mvc

Post navigation

Previous Previous post: ASP.NET 4.0 – Some info from PDC
Next Next post: Using JQuery Validation plugin with ASP.NET

Related Posts

  • What’s the story? JavaScript’s 30!

    #​764 — December 5, 2025 Read on the Web JavaScript Weekly 🎉  JavaScript Turns 30 Years Old  🎉 Back in May 1995, a 33 year old Brendan Eich built the first prototype of JavaScript in just ten days, originally codenamed Mocha (and then LiveScript). On December 4, 1995, Netscape and Sun Microsystems officially announced ‘JavaScript’ in a

    Posted by Posted on December 5, 2025
    0
  • Comparing performance across Node versions and ARM vs x86

    #​603 — December 2, 2025 Read on the Web Tinybench 6.0: A Tiny, Simple Benchmarking Library — Uses whatever precise timing capabilities are available (e.g. process.hrtime or performance.now). You can then benchmark whatever functions you want, specify how long or how many times to benchmark for, and get a variety of stats in return –

    Posted by Posted on December 2, 2025
    0
  • Algorithms visualized and demonstrated in JavaScript

    #​763 — November 28, 2025 Read on the Web JavaScript Weekly Over 150 Algorithms and Data Structures Demonstrated in JS — Examples of many common algorithms (e.g. bit manipulation, Pascal’s triangle, Hamming distance) and data structures (e.g. linked lists, tries, graphs) with explanations. Available in eighteen other written languages too. Oleksii Trekhleb et al. TypeScript: From

    Posted by Posted on November 28, 2025
    0
  • Guess who’s back, back again? Shai-Hulud.

    #​602 — November 25, 2025 Read on the Web How a Summer in Abruzzo Helped Bring Type Stripping to Node.js — Node.js TSC member and committer Marco tells the personal tale of what it took to bring type stripping (now considered stable) to Node. It’s neat to get the back story. He’s now working on

    Posted by Posted on November 25, 2025
    0
  • A significant Angular release

    #​762 — November 21, 2025 Read on the Web JavaScript Weekly Google Announces Angular v21 — The Google team has gone all out with this significant release of its popular JavaScript framework. They’ve put together a retro game-themed adventure-based tour of what’s new, along with top notch videos showing off features like its new signal-based

    Posted by Posted on November 21, 2025
    0
  • Did you know Node has a ‘deprecate’ method?

    #​601 — November 18, 2025 Read on the Web Node.js v25.2.1 (Current) Released (and 25.2.0 with Type Stripping Marked ‘Stable’) — v25.2.0 was released hours after we hit send last week (often the way!) and marked type stripping as stable, meaning all major server-side runtimes now support TypeScript officially (at least in type-stripping form). v25.2.1,

    Posted by Posted on November 18, 2025
    0
Judy Alvarez

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Codepolice

  • Github
  • Atlassian
  • Flatlogic
  • Xero
  • Jetbrains
  • Figma
  • What’s the story? JavaScript’s 30!
  • Comparing performance across Node versions and ARM vs x86
  • Algorithms visualized and demonstrated in JavaScript
  • Guess who’s back, back again? Shai-Hulud.
  • A significant Angular release
https://flatlogic.com/generator
COPYRIGHT © 2025 - Codepolice