Ở đây tôi đã tham khảo trên codeproject đã chỉnh sửa và xây dựng được một thư viện hmweb.Tag.dll để xử dụng tạo ASP.NET TagCloud, Bạn có thể download code mẫu và thư viện này ở cuối bài viết. Khi đã có dll này bạn add vào thư mục Bin của ứng dụng. Trong trang aspx để sử dụng bạn cần đăng ký sử dụng assembly này như sau (Bạn có thể add vào toolbox của VS để khi thiết kế kéo thả cho dễ)
<%@ Register assembly="hmweb.Tag" namespace="hmweb.Controls" tagprefix="cc1" %>
Trong trang aspx nơi bạn muốn hiển thị các Tag bạn đặt đoạn code sau:
<cc1:cloud ID="cHmwebTag" runat="server" Width="300px" DataTextField="Name" DataTitleField="TagName" DataHrefField="HrefUrl" DataWeightField="Weight" > </cc1:cloud>
Trong bài viết này tôi minh họa dữ liệu bằng cách tự Create một DataTable, Bạn sử dụng thì nên tạo một bảng trong SQL hay xml để quản lý thêm, sửa cho dễ dàng. Tôi tạo một bảng như sau:
private DataTable GetData() { DataTable dtb = new DataTable(); //Tạo các Columns dtb.Columns.Add("TagName"); dtb.Columns.Add("Weight"); dtb.Columns.Add("HrefUrl"); //Thêm các bản ghi dtb.Rows.Add("asp.net", "439", "aspnet.aspx"); dtb.Rows.Add("SQL", "400", "SQL-server.aspx"); dtb.Rows.Add("Accessibility", "58", "Accessibility.aspx"); dtb.Rows.Add("Ajax", "218", "Ajax.aspx"); dtb.Rows.Add("Csharp", "390", "Csharp.aspx"); dtb.Rows.Add("OTDH", "250", "OTDH.aspx"); dtb.Rows.Add("jquery", "175", "jquery.aspx"); dtb.Rows.Add("Luyện thi", "123", "luyen-thi.aspx"); dtb.Rows.Add("Store", "89", "Store.aspx"); dtb.Rows.Add("Facebook", "234", "Facebook.aspx"); dtb.Rows.Add("Microsoft", "204", "Microsoft.aspx"); dtb.Rows.Add("google", "290", "google.aspx"); dtb.Rows.Add("silverlight", "274", "silverlight.aspx"); dtb.Rows.Add("VTV2", "304", "VTV2.aspx"); dtb.Rows.Add("Phân trang", "204", "phan-trang.aspx"); dtb.Rows.Add("Cơ sở dữ liệu", "454", "Co-so-du-lieu.aspx"); dtb.Rows.Add("Autocomplete", "234", "Autocomplete.aspx"); return dtb; }
Bạn thấy tôi đã tạo môh DataTable có các trường Name chính là các từ khóa cần thêm vào danh sách được dùng cho thuộc tính DataTitleField và DataTitleField (khi bạn di chuột vào từ khóa sẽ hiển thị dữ từ khóa đó dạng tooltip), Weight là độ lớn khi hiển thị, ở đây từ khóa nào là trọng điểm trong website của bạn bạn cho giá trị của nó cao lên, được dùng cho thuộc tính DataWeightField và HrefUrl là trường url khi ta click xem một từ khóa nào đó được dùngc cho thuộc tính DataHrefField. Các thuộc tính này được xây dựng trong class Cloud.cs của Project hmweb.Tag (Bạn download project này ở liên kết cuối bài).
Cuối cùng, dể hiển thị bạn làm làm như sau:
protected void Page_Load(object sender, EventArgs e) { TagCoudData(); } private void TagCoudData() { cHmwebTag.DataSource = GetData(); cHmwebTag.DataBind(); }
Chúc bạn thành công!