Web Analytics

HtmlTableHelper

⭐ 42 stars Arabic by mini-software

NuGet


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


الميزات

التثبيت

يمكنك تثبيت الحزمة من NuGet باستخدام مدير الحزم في Visual Studio أو واجهة NuGet:

PM> install-package HtmlTableHelper

أو باستخدام أمر dotnet عبر سطر الأوامر:

dotnet add package HtmlTableHelper

عرض تجريبي Fiddle:

البداية

##### مثال على List/Array/Set/Enumrable من نوع غير مفتاح/قيمة ``C# using HtmlTableHelper; .. var sourceData = new[] { new { Name = "ITWeiHan", Age = "25",Gender = "M" } }; var tablehtml = sourceData.ToHtmlTable(); /* النتيجة:

NameAgeGender
ITWeiHan25M
*/

##### مثال Dapper
C# using (var cn = "Your Connection") { var sourceData = cn.Query(@"select 'ITWeiHan' Name,25 Age,'M' Gender"); var tablehtml = sourceData.ToHtmlTable(); }

##### مثال Dictionary
C# var sourceData = new[] {new Dictionary (){{"Name" , "ITWeiHan" },{"Age",25},{"Gender","M"}}}; var tablehtml = sourceData.ToHtmlTable();

تخصيص خصائص الجدول/TR/TD/TH (نوع ديناميكي)

C# var data = /List/Array/Set/Enumrable../; var html = data.ToHtmlTable( tableAttributes: new { @class = "SomeClass"} //هذا نوع ديناميكي، يدعم جميع الخصائص ,trAttributes: new { ID = "SomeID" },tdAttributes: new { width = "120 px" },thAttributes: new { @class = "dark-theme" } ); /* النتيجة:
..
..
*/

##### تعليقات السمات

###### 1. Display :

C# public class ModelClassWithDisplayAttr { [TableColumn(DisplayName = "Column1")] //خاصية MyProperty1 ستعرض النص الداخلي للـ thead-td: "Column1" public string MyProperty1 { get; set; } [TableColumn(DisplayName = "Column2")] //خاصية MyProperty2 ستعرض النص الداخلي للـ thead-td: "Column2" public string MyProperty2 { get; set; } }

###### 2. تخطي : 
C# public class ModelClassWithSkipAttr { [TableColumn( Skip = true)] public string MyProperty1 { get; set; } //لن يتم عرض MyProperty1 في 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(); //النتيجة :
This is Caption
MyProperty1MyProperty2
test123

##### HTMLTableSetting

تكويد InnerHtml قابل للتهيئة (يُنصح بعدم القيام بذلك بدون سبب محدد، بسبب هجمات XSS)

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

//التكويد الافتراضي var encodinghtml = sourceData.ToHtmlTable(); //النتيجة:

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

var htmltablesetting = new HTMLTableSetting() { IsHtmlEncodeMode = false }; var notEncodinghtml = sourceData.ToHtmlTable(HTMLTableSetting: htmltablesetting); //النتيجة:

..ITWeiHan..

التوسعة

ASP.NET Core MVC: أنشئ ملف 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" } }) /* النتيجة:
NameAgeGender
ITWeiHan25M
*/

ASP.NET MVC 5:   
أنشئ ملف 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); } }

العرض التوضيحي

عرض توضيحي لـ ASP.NET MVC 5 JQuery DataTable:
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();
    }
}

@{
    Layout = null;
}

AspNetMvcDemo

@Html.Raw(ViewBag.Table)

عرض توضيحي لـ ASP.NET Core:

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 ---