Dường như với tôi rằng có những thay đổi đột phá lớn trong TagBuilder như của beta7 mà không đề cập đến chúng trong repo thông báo.TagBuilder InnerHtml trong ASP.NET 5 MVC 6
Cụ thể. ToString không còn hiển thị trình tạo thẻ, nó chỉ trả về tên của loại. trước đây chúng ta có thể làm những việc như thế này trong phần mở rộng HtmlHelper của chúng tôi để xây dựng các yếu tố html lồng nhau:
var li = new TagBuilder("li");
li.AddCssClass("inactive");
var span = new TagBuilder("span");
span.SetInnerText(somestring);
li.InnerHtml = span.ToString();
.InnerHtml bây giờ không còn chấp nhận chuỗi vì nó bây giờ là IHtmlContent
nhưng vì ToString() doesn' t hiển thị thẻ này không hoạt động:
li.InnerHtml = new HtmlString(span.ToString())
nó chỉ hiển thị là "Microsoft.AspNet.Mvc.Rendering.TagBuilder", tên của loại.
Tôi không thấy bất kỳ phương pháp mới nào trên TagBuilder để cung cấp chức năng cần thiết. Tôi đang thiếu gì? Làm thế nào tôi có thể xây dựng html lồng nhau phức tạp với TagBuilder bây giờ?
'TagBuilder' triển khai' IHtmlContent' vì vậy có lẽ bạn chỉ có thể chỉ định Trình tạo thẻ trực tiếp cho 'li.InnerHtml'? – fiat