Chuyển đổi chuỗi thành html trong chế độ xem dao cạo

Lớp HtmlHelper bao gồm hai phương thức mở rộng để tạo chuỗi html. Display()DisplayFor()

Chúng tôi sẽ sử dụng lớp mô hình sau với phương thức Display() và DisplayFor()

Thí dụ. người mẫu sinh viên

Sao chép

public class Student
{
    public int StudentId { get; set; }
    public string StudentName { get; set; }
    public int Age { get; set; }
}

Html. DisplayFor()

Phương thức trợ giúp DisplayFor() là một phương thức mở rộng được gõ mạnh. Nó tạo ra một chuỗi html cho thuộc tính đối tượng mô hình được chỉ định bằng biểu thức lambda

Phương thức DisplayFor() Chữ ký.

@model Student

@Html.DisplayFor(m => m.StudentName)
0

Truy cập MSDN để biết tất cả các tình trạng quá tải của phương thức DisplayFor()

Thí dụ. DisplayFor() trong Chế độ xem dao cạo

Sao chép

@model Student

@Html.DisplayFor(m => m.StudentName)

Kết quả Html

"Steve"

Trong ví dụ trên, chúng ta đã chỉ định thuộc tính

@model Student

@Html.DisplayFor(m => m.StudentName)
1 của model Student bằng cách sử dụng biểu thức lambda trong phương thức DisplayFor(). Vì vậy, nó tạo ra một chuỗi html với giá trị StudentName,
@model Student

@Html.DisplayFor(m => m.StudentName)
2, trong ví dụ trên

Trưng bày()

@model Student

@Html.DisplayFor(m => m.StudentName)
3 là một phương thức được gõ lỏng lẻo, tạo ra một chuỗi trong chế độ xem dao cạo cho thuộc tính được chỉ định của mô hình

hỗ trợ. NET lõi 3. 1,. MẠNG 5,. NET 6 — Bảng điều khiển, ASP. NET Core Web/Api, Dịch vụ công nhân, WPF/WinForms(. NET Core) Ứng dụng

Trong hầu hết các dự án, có thể có một hoặc nhiều yêu cầu sau

  • Tạo hóa đơn, báo cáo, sao kê ngân hàng, sơ yếu lý lịch bằng HTML và sau đó chuyển đổi sang PDF hoặc gửi email
  • Gửi email cho nhiều người dùng với nội dung email động giàu HTML với dữ liệu khác nhau và hơn thế nữa
  • Tạo tệp từ mẫu
  • Thực hiện các thao tác trên trong một dịch vụ công nhân riêng biệt

Tạo chuỗi HTML bên trong mã sẽ lộn xộn. Nhiều khung phổ biến có một công cụ mẫu để làm như vậy. Tương tự ASP. NET Core có Dao cạo. Nhưng hiển thị chuỗi ra khỏi chế độ xem Dao cạo (. cshtml) không đơn giản trong cả ASP. NET Core Ứng dụng web hoặc Ứng dụng bảng điều khiển

Có một vài thư viện phổ biến để làm như vậy. Nhưng tôi không thấy thuyết phục với chúng vì chúng chậm hoặc thiếu các tính năng xem như công cụ xem, dạng xem, thành phần dạng xem và trình trợ giúp HTML hoặc yêu cầu một số dòng mã hoặc thiếu hỗ trợ cho cả ứng dụng web và ứng dụng bảng điều khiển hoặc không' . NET lõi 3. 0+

Dao cạo. tạo khuôn mẫu. Cốt lõi để giải cứu. Tôi đã phải tạo thư viện này vì nhu cầu cấp bách

Bắt đầu nào…

Trong hướng dẫn này, tôi sẽ hiển thị chuỗi HTML cho Hóa đơn từ. cshtml. Mã nguồn có thể được tìm thấy ở đây

Tạo thư viện lớp Razor

Hãy tạo dự án thư viện lớp dao cạo sẽ chứa. tệp cshtml

  • Trong Visual Studio 2019 (v16. 6. 3 — ưu tiên phiên bản mới nhất), hãy tạo một “Thư viện lớp Razor” mới (. NET Core) Dự án. Hãy đặt tên cho nó là 'Dao cạo. Mẫu'

Tạo dự án 'Thư viện lớp dao cạo' mới
  • If we look at the Razor.Templates.csproj, note that Sdk=”Microsoft.NET.Sdk.Razor”. This will use the Razor SDK to precompile the .cshtml files to .Views.dll
  • Make sure the Property Group contains true. Otherwise, add it.
  • Also, please ensure is present.

  • Đừng lãng phí quá nhiều thời gian để viết HTML. Hãy để tôi lấy mẫu HTML cho hóa đơn và chuyển đổi nó thành. cshtml với mô hình xem C# được thêm vào
  • Đã thêm hai tệp có tên Hóa đơn. cshtml & Hóa đơn. cs

Hóa đơn. cs
  • Nếu chúng ta xây dựng 'Dao cạo. Templates', chúng ta có thể thấy chế độ xem dao cạo được biên dịch trước thành 'Dao cạo. mẫu. Lượt xem. dll'

  • Cho đến nay, chúng tôi đã tạo Thư viện lớp dao cạo của mình
  • Ghi chú. Trong. NET 6, các khung nhìn được biên dịch thành cùng một dll với dự án. Không có tệp dll riêng biệt nào được tạo

Hiển thị Chế độ xem thành Chuỗi trong Ứng dụng Bảng điều khiển

  • Tạo một ứng dụng bảng điều khiển mới. Hãy đặt tên cho nó là 'Dao cạo. tạo khuôn mẫu. Thí dụ. Hóa đơn'
  • Thêm một tham chiếu đến 'Dao cạo. Dự án mẫu. -cái này quan trọng. Nếu không, ngoại lệ 'Không tìm thấy chế độ xem' sẽ bị ném
  • Cài đặt Razor. tạo khuôn mẫu. Gói NuGet cốt lõi
  • Vì. NET 6, sử dụng v1. 7. 0+

cài đặt dao cạo. tạo khuôn mẫu. Core sử dụng trình quản lý gói Nuget
  • Hãy xây dựng mô hình chế độ xem cần được chuyển sang chế độ xem dao cạo

Chương trình. cs
  • Bây giờ gọi dòng ma thuật với đường dẫn tương đối đến. tệp cshtml & đối tượng mô hình xem dưới dạng tham số

  • Luôn đảm bảo rằng các. Các tệp cshtml nằm trong một đường dẫn duy nhất khi có nhiều hơn một thư viện lớp dao cạo được tham chiếu
  • Không chờ đợi nữa… Hãy chạy chương trình

đầu ra
  • Chúng tôi đã hiển thị chế độ xem dao cạo (. cshtml) một cách nhanh chóng chỉ với một dòng mã trong ứng dụng bảng điều khiển
  • Điều tương tự cũng xảy ra với ASP. NET Core ứng dụng Web, ASP. NET Core Web API, Worker Service và thậm chí cả WPF/WinForms(. NET Core). Hãy tìm các ví dụ ở đây
  • Hơn nữa, chúng tôi có thể mở rộng điều này để gửi email, tạo PDF từ HTML, v.v.
Tiêm phụ thuộc. [Kể từ v1. 4. 0]

Nếu bạn cần đưa các phụ thuộc vào chế độ xem của mình, chúng tôi có thể tận dụng hệ thống DI sẵn có trong. NET lõi. Tìm dự án ví dụ ở đây

Đối với ASP. NET Core, trong Khởi động. lớp cs, đăng ký phụ thuộc như dưới đây

Bây giờ từ ứng dụng của bạn, hiển thị chế độ xem như bình thường bằng cách sử dụng lớp tĩnh

kết xuất. chuỗi cshtml bằng cách sử dụng lớp tĩnh RazorTemplateEngine

hoặc tiêm đối tượng bằng cách sử dụng giao diện IRazorTemplateEngine trong hàm tạo hoặc tham số (từ v1. 8. 0)

Tiêm đối tượng RazorTemplateEngine bằng giao diện IRazorTemplateEngine

tiêm. cshtml trông giống như bên dưới

Đối với Ứng dụng Bảng điều khiển, hãy sử dụng DI như bên dưới

Tìm một

Kho lưu trữ GitHub. https. //github. com/sundaranbu/RazorTemplating

Gói NuGet. https. //www. nuget. org/gói/Dao cạo. tạo khuôn mẫu. Cốt lõi

Ủng hộ

Nếu bạn thấy điều này hữu ích, hãy cân nhắc hỗ trợ phát triển thư viện này bằng một hoặc nhiều ly cà phê;) Cảm ơn

Làm cách nào để hiển thị chuỗi HTML trong chế độ xem MVC?

Chúng tôi sẽ chuyển chuỗi HTML từ Trình điều khiển của mình và phân tích cú pháp chuỗi đó trên Chế độ xem dao cạo ở định dạng HTML thông thường thay vì văn bản thuần túy. Để phân tích nội dung/chuỗi HTML trên chế độ xem mvc ở định dạng html, chúng ta có thể sử dụng @Html. Thô .

Làm cách nào để viết mã HTML trong chế độ xem MVC?

Mã Html để tạo bảng Html trong View sử dụng bootstrap như sau. .
<đầu>

Làm cách nào để chuyển đổi HTML thành chuỗi trong C#?

Các bước chuyển đổi HTML thành văn bản trong C# .
Cài đặt Aspose. HTML cho. NET từ trình quản lý gói NuGet
Bao gồm Aspose. Không gian tên HTML trong dự án của bạn
Tải nội dung tệp HTML vào Chuỗi
Tạo một thể hiện của lớp HTMLDocument để tải Chuỗi chứa HTML

Làm cách nào để hiển thị nội dung HTML trong asp net?

Bạn sẽ cần nhập các không gian tên sau. Bên trong sự kiện Tải trang, trước tiên, một DataTable động được tạo với một số dữ liệu giả. Sau đó, bằng cách sử dụng lớp StringBuilder, Chuỗi HTML của Bảng HTML được tạo và sau đó được gán cho thuộc tính Văn bản của điều khiển Literal. DataTable dt = new DataTable();