Web Analytics

HtmlTableHelper

⭐ 42 stars Vietnamese by mini-software

NuGet


version version version version version version version version version version version version version version version version version


Tính năng

Cài đặt

Bạn có thể cài đặt gói từ NuGet bằng Visual Studio Package Manager hoặc giao diện NuGet UI:

PM> install-package HtmlTableHelper

hoặc sử dụng dòng lệnh dotnet:

dotnet add package HtmlTableHelper

Fiddle Demo:

Bắt đầu

##### Ví dụ List/Array/Set/Enumerable không phải kiểu Key/Value ``C# using HtmlTableHelper; .. var sourceData = new[] { new { Name = "ITWeiHan", Age = "25",Gender = "M" } }; var tablehtml = sourceData.ToHtmlTable(); /* Kết quả:

NameAgeGender
ITWeiHan25M
*/

##### Ví dụ Dapper
C# using (var cn = "Your Connection") { var sourceData = cn.Query(@"select 'ITWeiHan' Name,25 Age,'M' Gender"); var tablehtml = sourceData.ToHtmlTable(); }

##### Ví dụ Dictionary 
C# var sourceData = new[] {new Dictionary (){{"Name" , "ITWeiHan" },{"Age",25},{"Gender","M"}}}; var tablehtml = sourceData.ToHtmlTable();

Tùy chỉnh thuộc tính Table/TR/TD/TH (Kiểu động)

C# var data = /List/Array/Set/Enumrable../; var html = data.ToHtmlTable( tableAttributes: new { @class = "SomeClass"} //đây là kiểu động, hỗ trợ mọi thuộc tính ,trAttributes: new { ID = "SomeID" },tdAttributes: new { width = "120 px" },thAttributes: new { @class = "dark-theme" } ); /* Kết quả:
..
..
*/

##### Ghi chú thuộc tính (Attribute Annotation)

###### 1. Display :

C# public class ModelClassWithDisplayAttr { [TableColumn(DisplayName = "Column1")] //Thuộc tính MyProperty1 sẽ hiển thị innertext của thead-td: "Column1" public string MyProperty1 { get; set; } [TableColumn(DisplayName = "Column2")] //Thuộc tính MyProperty2 sẽ hiển thị innertext của thead-td: "Column2" public string MyProperty2 { get; set; } }

###### 2. Bỏ qua : 
C# public class ModelClassWithSkipAttr { [TableColumn( Skip = true)] public string MyProperty1 { get; set; } //MyProperty1 sẽ không render html public string MyProperty2 { get; set; } }

##### HTMLTableBuilder

###### HtmlCaption

C# var soucreData = new []{ new {MyProperty1="test",MyProperty2=123} }; var html = soucreData.CreateBuilder() .SetCaption("This is Caption", new { id = "CaptionId" }) .ToHtmlTable(); //Kết quả :
This is Caption
MyProperty1MyProperty2
test123

##### HTMLTableSetting

Cấu hình mã hóa InnerHtml (Khuyến nghị không nên tắt nếu không có lý do cụ thể, vì có thể bị tấn công XSS)

C# var sourceData = new[] { new { Name = "ITWeiHan" } };

//Mặc định sẽ mã hóa var encodinghtml = sourceData.ToHtmlTable(); //Kết quả:

..<b>ITWeiHan</b>..

var htmltablesetting = new HTMLTableSetting() { IsHtmlEncodeMode = false }; var notEncodinghtml = sourceData.ToHtmlTable(HTMLTableSetting: htmltablesetting); //Kết quả:

..ITWeiHan..

Extension

ASP.NET Core MVC: Tạo một file IHtmlHelperExtension.cs
C# using System.Collections.Generic; using HtmlTableHelper; using Microsoft.AspNetCore.Mvc.Rendering; using Microsoft.AspNetCore.Html;

public static class IHtmlHelperExtension { public static HtmlString ToHtmlTable(this IHtmlHelper htmlHelper, IEnumerable enums , object tableAttributes = null, object trAttributes = null, object tdAttributes = null , HtmlTableSetting HTMLTableSetting = null) { var html = enums.ToHtmlTable(tableAttributes, trAttributes, tdAttributes, HTMLTableSetting); return new HtmlString(html); }

public static HtmlString ToHtmlTable(this IHtmlHelper htmlHelper, System.Data.DataTable datatable , object tableAttributes = null, object trAttributes = null, object tdAttributes = null , HtmlTableSetting HTMLTableSetting = null) { var html = datatable.ToHtmlTable(tableAttributes, trAttributes, tdAttributes, HTMLTableSetting); return new HtmlString(html); } }


razor.cshtml 
C# @Html.ToHtmlTable(new[] { new { Name = "ITWeiHan", Age = "25", Gender = "M" } }) /* Kết quả:
NameAgeGender
ITWeiHan25M
*/

ASP.NET MVC 5:   
Tạo một file HtmlHelperExtension.cs
C# using System.Collections.Generic; using HtmlTableHelper; using System.Web; using System.Web.Mvc;

public static class HtmlHelperExtension { public static HtmlString ToHtmlTable(this HtmlHelper htmlHelper, IEnumerable enums , object tableAttributes = null, object trAttributes = null, object tdAttributes = null , HtmlTableSetting HTMLTableSetting = null) {

var html = enums.ToHtmlTable(tableAttributes, trAttributes, tdAttributes, HTMLTableSetting);
return new HtmlString(html);
}

public static HtmlString ToHtmlTable(this HtmlHelper htmlHelper, System.Data.DataTable datatable , object tableAttributes = null, object trAttributes = null, object tdAttributes = null , HtmlTableSetting HTMLTableSetting = null) { var html = datatable.ToHtmlTable(tableAttributes, trAttributes, tdAttributes, HTMLTableSetting); return new HtmlString(html); } }

Demo

ASP.NET MVC 5 JQuery DataTable Demo:
`C# using HtmlTableHelper; //.. public class HomeController : Controller { public ActionResult Index() { var datas = new[] { new { Name = "ITWeiHan", Age = "25",Gender = "M" } }; ViewBag.Table = datas.ToHtmlTable(); return View(); } }
C# @{ Layout = null; }

AspNetMvcDemo

@Html.Raw(ViewBag.Table)

ASP.NET Core Demo:
C# public class Startup { public void Configure(IApplicationBuilder app, IHostingEnvironment env) { app.Run(async (context) => { var sourceData = new[] { new { Name = "ITWeiHan", Age = "25",Gender = "M" } }; var tablehtml = sourceData.ToHtmlTable(); await context.Response.WriteAsync(tablehtml); }); } }

--- Tranlated By Open Ai Tx | Last indexed: 2025-06-30 ---