ASP.NET Tag cloud / Облако тегов на ASP.NET

Для облегчения своей (и вашей теперь) жизни написал класс, который поможет сформировать облако тегов. Код для ASP.NET 2.0.

Чем он отличается от остальных «Tag cloud maker»-ов? Почти все готовые компоненты, какие я видел, требуют чтобы в них присылали данные вида тег-вес, тоесть нужно было сначала самому посчитать сколько раз повторяется один и тот же тег, и только потом отправлять эти данные в контрол. Вобщем, ерунда. В мой класс вы просто отправляете всю кучу тегов сразу, а на выходе получаете красивое облачко тегов. Вид можно настроить через CSS.

Как пользоваться: скопировать класс PortalTagCloud.cs в App_Code\, файл Cloud.css куда вам нужно.

На ASPX странице разместить Label1.
В коде: сформировать из базы данных, или из XML (или где вы там храните свои данные) string, в котором через запятую идут подряд все теги (неотсортированные, повторяющие, просто «как есть»), отправить эти данные в PortalClass.MakeCloud() и получить готовое облако тегов.

Вот более подробный пример кода:

  string GetAllTags()
  {   /// Забираем все теги
  SqlConnection SQLDB;
  SqlCommand SQLDBCMD;
  SqlDataReader SqlR;

  System.Text.StringBuilder sb = new System.Text.StringBuilder();

  SQLDB = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);
  SQLDBCMD = new SqlCommand("SELECT post_tags FROM w20_posts", SQLDB);
  SQLDB.Open();

  SqlR = SQLDBCMD.ExecuteReader();

  while (SqlR.Read())
  {
  sb.Append(SqlR["post_tags"]+",");
  }

  SqlR.Close();
  SQLDB.Close();

  return sb.ToString();
  }

 protected void Page_Load(object sender, EventArgs e)
  {
    lblCloud.Text = PortalTagCloud.MakeCloud(GetAllTags(),"/portal/tag.aspx?s=");
  }

Скачать исходники.

Leave a comment

1 Comment

  1. Классное облако спасибо. А как вы считаете оно должно индексироваться поисковиками или лучше его закрыть от индексации?

    Ответить

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>