using IronPdf;
// Disable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;
// Instantiate Renderer
var renderer = new ChromePdfRenderer();
// Create a PDF from a HTML string using C#
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
// Export to a file or Stream
pdf.SaveAs("output.pdf");
// Advanced Example with HTML Assets
// Load external html assets: Images, CSS and JavaScript.
// An optional BasePath 'C:\site\assets\' is set as the file location to load assets from
var myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
myAdvancedPdf.SaveAs("html-with-assets.pdf");
jQuery-Datentabelle (Wie es für Entwickler funktioniert)
Jordi Bardia
27. Januar 2024
Teilen Sie:
Die Präsentation von Daten ist ein wichtiger Aspekt der Webentwicklung, und wenn man mit tabellarischen Daten arbeitet, ist eine interaktive und funktionsreiche Tabelle unerlässlich. jQuery DataTables ist eine leistungsstarke JavaScript-Bibliothek, die erweiterte Funktionen für die Erstellung dynamischer und reaktionsfähiger Tabellen bietet. In diesem Artikel erfahren Sie, wie Sie jQuery DataTables in eine Anwendung integrieren und verwenden könnenASP.NET webanwendung zur Verbesserung der Darstellung von Tabellendaten.
Wie verwendet man jQuery DataTables in einer ASP.NET-Webanwendung?
Erstellen oder öffnen Sie eine Webanwendung.
Installieren Sie Entity Framework-Pakete.
Modell, DB-Kontext und Controller hinzufügen.
DB Connection String hinzufügen und Konfiguration einrichten.
Migration hinzufügen und Datenbank aktualisieren.
Client-seitige Bibliothek von jQuery DataTables hinzufügen.
jQuery DataTables ist ein leichtgewichtiges, flexibles und funktionsreiches jQuery-Plugin für den Umgang mit tabellarischen Daten. Sie bietet eine breite Palette von Funktionen wie Sortierung, Suche, Paginierung und vieles mehr und ist damit die ideale Wahl für die benutzerfreundliche Darstellung großer Datenmengen.
Client-seitige Verarbeitung
Bei der clientseitigen Verarbeitung ist der Browser in der Lage, den Datensatz lokal zu verarbeiten. jQuery DataTables ermöglicht durch seine leistungsstarken Funktionen eine dynamische Interaktion und Manipulation der Daten direkt im Browser des Benutzers. Während dieser Ansatz bei kleineren Datenmengen problemlos funktioniert, kann er bei umfangreichen Datenmengen aufgrund potenzieller Leistungsengpässe und eines erhöhten Ressourcenverbrauchs zu Problemen führen.
In diesem Artikel wird die clientseitige Verarbeitung in einer ASP.NET Razor Page-Anwendung untersucht. Dabei werden die Vorteile hervorgehoben, die sie für kleinere Datensätze bietet, und es werden Einblicke in mögliche Überlegungen und Optimierungen gegeben, um eine reibungslose und reaktionsschnelle Benutzererfahrung zu gewährleisten.
Erste Schritte mit jQuery DataTables in einer ASP.NET-Webanwendung
In diesem Artikel wird eine ASP.NET Razor Page-Webanwendung für das .NET-Framework 4.8 verwendet. Sie können Blazor, MVC oder Web Forms verwenden, je nach Ihren Anforderungen.
In diesem Artikel wird der Code-First-Ansatz verwendet. Sie können den "Database First Approach" je nach Ihren Wünschen verwenden. Für die Verwendung des Code-First-Ansatzes müssen wir die folgenden Pakete installieren.
Microsoft.EntityFrameworkCore
Microsoft.EntityFrameworkCore.Design
Microsoft.EntityFrameworkCore.SqlServer
Microsoft.EntityFrameworkCore.Tools
Installieren Sie die oben genannten Pakete mit dem Befehl "Install-Package" aus der NuGet-Paketmanager-Konsole oder installieren Sie sie aus der NuGet-Paketmanager-Lösung, indem Sie nach ihnen suchen.
Richten wir unser Projekt ein, indem wir die Model-Klasse, die ApplicationDBContext-Klasse, den Controller, die Verbindungszeichenfolge und die Dienstekonfiguration in der Datei Program.cs hinzufügen.
Modellklasse hinzufügen
Ich verwende die Modellklasse "Mitarbeiter" für dieses Beispiel, Sie können sie je nach Ihren Anforderungen verwenden.
public class Employee
{
public int Id { get; set; }
public string FirstName { get; set; } = string.Empty;
public string LastName { get; set; } = string.Empty;
public string Email { get; set; } = string.Empty;
public string PhoneNumber { get; set; } = string.Empty;
public string Gender { get; set; } = string.Empty;
public string Designation { get; set; } = string.Empty;
}
public class Employee
{
public int Id { get; set; }
public string FirstName { get; set; } = string.Empty;
public string LastName { get; set; } = string.Empty;
public string Email { get; set; } = string.Empty;
public string PhoneNumber { get; set; } = string.Empty;
public string Gender { get; set; } = string.Empty;
public string Designation { get; set; } = string.Empty;
}
Public Class Employee
Public Property Id() As Integer
Public Property FirstName() As String = String.Empty
Public Property LastName() As String = String.Empty
Public Property Email() As String = String.Empty
Public Property PhoneNumber() As String = String.Empty
Public Property Gender() As String = String.Empty
Public Property Designation() As String = String.Empty
End Class
ApplicationDbContext-Klasse hinzufügen
Wir müssen die Klasse ApplicationDbContext hinzufügen, um das Entity Framework einzurichten.
public class ApplicationDbContext : DbContext
{
public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options) : base(options)
{
}
public DbSet<Employee> Employees { get; set; }
}
public class ApplicationDbContext : DbContext
{
public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options) : base(options)
{
}
public DbSet<Employee> Employees { get; set; }
}
Public Class ApplicationDbContext
Inherits DbContext
Public Sub New(ByVal options As DbContextOptions(Of ApplicationDbContext))
MyBase.New(options)
End Sub
Public Property Employees() As DbSet(Of Employee)
End Class
Mitarbeiter-Controller hinzufügen
Fügen Sie den "EmployeeController" für die Erstellung des Endpunkts hinzu.
[Route("api/[controller]")]
[ApiController]
public class EmployeeController : ControllerBase
{
private readonly ApplicationDbContext _context;
public EmployeeController(ApplicationDbContext context)
{
_context = context;
}
[HttpGet]
public IActionResult GetEmployees()
{
try
{
var employeeData = _context.Employees.ToList();
var jsonData = new { data = employeeData };
return Ok(jsonData);
}
catch (Exception ex)
{
throw;
}
}
}
[Route("api/[controller]")]
[ApiController]
public class EmployeeController : ControllerBase
{
private readonly ApplicationDbContext _context;
public EmployeeController(ApplicationDbContext context)
{
_context = context;
}
[HttpGet]
public IActionResult GetEmployees()
{
try
{
var employeeData = _context.Employees.ToList();
var jsonData = new { data = employeeData };
return Ok(jsonData);
}
catch (Exception ex)
{
throw;
}
}
}
<Route("api/[controller]")>
<ApiController>
Public Class EmployeeController
Inherits ControllerBase
Private ReadOnly _context As ApplicationDbContext
Public Sub New(ByVal context As ApplicationDbContext)
_context = context
End Sub
<HttpGet>
Public Function GetEmployees() As IActionResult
Try
Dim employeeData = _context.Employees.ToList()
Dim jsonData = New With {Key .data = employeeData}
Return Ok(jsonData)
Catch ex As Exception
Throw
End Try
End Function
End Class
Hier verwenden wir die Methode "HTTPGet", da wir die vollständigen Daten vom Server auf der Client-Seite abrufen und Paginierung, Suche und Sortierung auf der Client-Seite implementieren werden. Wir geben ein JSON-Array zurück, das auf der Client-Seite gerendert wird.
Verbindungszeichenfolge hinzufügen
Fügen Sie die folgende Verbindungszeichenfolge in die Datei appsettings.json ein.
builder.Services.AddDbContext(Of ApplicationDbContext)(Sub(options)
options.UseSqlServer(builder.Configuration.GetConnectionString("EmployeeDB"))
End Sub)
Migration durchführen
Der nächste Schritt ist die Durchführung der Migration, da wir den Code-First-Ansatz verwenden. Führen Sie den folgenden Befehl in der Paketmanager-Konsole aus.
Add-Migration init
Mit diesem Befehl wird eine Migration erstellt. Führen Sie nun den folgenden Befehl aus, um diese Migration auf die Datenbank anzuwenden.
update-database
Nun, da unser Projekt fertig ist und die Datenbank bereit ist, müssen wir nur noch die jQuery-Bibliothek und HTML-Tabellen hinzufügen, um unsere Benutzeroberfläche fertigzustellen. Wir haben in diesem Beispiel SQL Server als Datenquelle verwendet, aber Sie können auch jede andere Datenbank verwenden.
JQuery DataTables-Bibliothek hinzufügen
Wir müssen die jQuery DataTables-Bibliothek, ein Tabellenerweiterungs-Plugin für die jQuery JavaScript-Bibliothek, zu unserem Projekt hinzufügen. Wir können sie hinzufügen, indem wir mit der rechten Maustaste auf das Projekt klicken, "Hinzufügen" wählen und dann "Client-seitige Bibliothek hinzufügen" auswählen. Es erscheint ein kleines Fenster, in dem wir nach "jquery datatables" suchen und es installieren können, wie unten gezeigt:
HTML-Tabelle hinzufügen
Fügen wir eine HTML-Tabelle mit einem leeren Tabellenkörper hinzu. Wir werden die erforderlichen Spaltenüberschriften beim Einrichten der jQuery DataTable hinzufügen. Fügen Sie den folgenden Code in die Datei Index.cshtml ein.
Wir müssen die Datei EmployeeDatatable.js in den Ordner "wwwwroot/Js" einfügen. In dieser Datei werden wir einen Ajax-Aufruf und erweiterte Funktionen der jQuery DataTable wie Filtern, Paginieren, Suchen, Sortieren usw. haben.
Datei EmployeeDatatable.js erstellen
Erstellen Sie eine Datei EmployeeDatatable.js im Ordner "wwwwroot/Js". Fügen Sie den folgenden Code hinzu.
Wir haben die funktionsreiche jQuery DataTables-Bibliothek verwendet. Dieses leistungsstarke jQuery-Plugin ermöglicht es uns, mit minimalem Aufwand erweiterte Funktionen auf der Client-Seite zu implementieren.
Erstellen Sie nun diese Anwendung und führen Sie sie aus.
Ausgabe
Wie wir sehen können, haben wir mit Hilfe von jQuery in ASP.NET eine sehr interaktive Benutzeroberfläche erstellt. Die angezeigten Daten sind wie folgt:
Jetzt wird die Paginierung auf der Client-Seite implementiert, daher werden die vollständigen Daten vom Server wie unten dargestellt gesendet:
Ausgabe UI
Wir können die Seite suchen, sortieren und ändern, alles wird auf der Client-Seite durchgeführt, wie unten gezeigt:
Einführung in IronXL
IronXL for .NET Excel-Dateimanipulation ist eine Bibliothek, die es Ihnen ermöglicht, mit Excel-Dateien in .NET-Anwendungen zu arbeiten. Es kann Excel-Dokumente in verschiedenen Formaten wie XLS, XLSX, CSV und TSV erstellen, lesen, bearbeiten und speichern. Es erfordert keine Installation von Microsoft Office oder Excel Interop. Es unterstützt .NET 5, Core, Framework und Azure.
Wir haben oft die Anforderung, Daten in Excel- oder CSV-Dateien zu exportieren. IronXL ist in diesem Fall die beste Wahl. Nun werden wir einen Code schreiben, um unsere Daten in eine Excel-Datei zu exportieren.
IronXL installieren
Installieren Sie die IronXL-Bibliothek in Ihrem Projekt, indem Sie den folgenden Befehl in der Paketmanager-Konsole eingeben.
Install-Package IronXL.Excel
Dadurch werden IronXL und die erforderlichen Abhängigkeiten in unserem Projekt installiert. Sie können es auch direkt herunterladen vonIronXL NuGet-Paket.
Daten nach Excel exportieren
Lassen Sie uns Code schreiben, um unsere Mitarbeiterliste in eine Excel-Datei zu konvertieren.
Zusammenfassend lässt sich sagen, dass sich jQuery DataTables als leistungsstarke Lösung für die Darstellung von Tabellendaten in ASP.NET-Webanwendungen erwiesen hat. Die leichtgewichtige und dennoch funktionsreiche Software erleichtert die Erstellung interaktiver Tabellen, wobei Sortieren, Suchen und Paginieren im Vordergrund stehen. Wir untersuchten die Feinheiten der clientseitigen Verarbeitung, wobei wir die Möglichkeiten des Browsers für kleinere Datensätze nutzten, aber auch die möglichen Herausforderungen bei größeren Datenmengen berücksichtigten. Die Schritt-für-Schritt-Anleitung zur Einrichtung einer ASP.NET Razor Page-Anwendung und zur Integration von jQuery DataTables bietet Entwicklern einen praktischen Einblick. Die Einführung von IronXL als nahtlose Lösung für Excel-bezogene Aufgaben erweitert das Toolkit um eine wertvolle Ebene, die einen effizienten Datenexport ermöglicht. Mit diesen Tools können Entwickler die Benutzererfahrung verbessern, indem sie Daten auf ansprechende und zugängliche Weise präsentieren.
IronXL bietet verschiedene Lizenzierungsoptionen an, die von der Anzahl der Entwickler, den Projekten und den Anforderungen an die Weiterverbreitung abhängen. Die Lizenzen sind unbefristet und beinhalten kostenlosen Support und Updates.
Jordi beherrscht vor allem Python, C# und C++. Wenn er seine Fähigkeiten bei Iron Software nicht einsetzt, programmiert er Spiele. Durch seine Mitverantwortung für Produkttests, Produktentwicklung und Forschung trägt Jordi wesentlich zur kontinuierlichen Produktverbesserung bei. Die vielseitigen Erfahrungen, die er sammelt, bieten ihm immer wieder neue Herausforderungen, und er sagt, dass dies einer seiner Lieblingsaspekte bei Iron Software ist. Jordi wuchs in Miami, Florida, auf und studierte Informatik und Statistik an der University of Florida.
< PREVIOUS C# Array Sort (Wie es für Entwickler funktioniert)
NÄCHSTES > C# Stoppuhr (Wie sie für Entwickler funktioniert)