2013-05-08 41 views
6

Tôi có mẫu cho trang Html và tôi cần thêm nội dung của nó vào ASP.NET. Tôi cũng cần tạo nhiều bản mẫu trang, tùy thuộc vào dữ liệu.Cách tải biểu mẫu Html được tạo HtmlGenericControl

Rõ ràng là việc tạo chuỗi Html lớn bằng cách sử dụng rất bẩn. Vì vậy, tôi chọn lựa để tạo Html của tôi bằng cách sử dụng HtmlGenericControl. Và tôi đã làm được. Nhưng Tôi không thể nhận Html được tạo dưới dạng chuỗi từ số.

Cách đơn giản để thêm các điều khiển này vào trang ASP.NET và hiển thị, nhưng tôi cần Html của chúng.

Nếu không thể, có cách nào khác để tạo Html ... ???

+1

Cái này là dành cho usercontrol, nhưng nó có thể giúp đỡ trong trường hợp của bạn? : http: //stackoverflow.com/questions/288409/how-do-i-get-the-html-output-of-a-usercontrol-in-net-c –

+0

Nó làm việc con người ... cảm ơn bạn rất nhiều. .. :) –

Trả lời

20

Lừa nói bởi @Bartdude làm việc như một nét duyên dáng ...

Đối với các dân tộc khác, giải pháp đi theo cách này ...

// create you generic controls 
HtmlGenericControl mainDiv = new HtmlGenericControl("div"); 
// setting required attributes and properties 
// adding more generic controls to it 
// finally, get the html when its ready 
StringBuilder generatedHtml = new StringBuilder(); 
using (var htmlStringWriter = new StringWriter(generatedHtml)) 
{ 
    using(var htmlTextWriter = new HtmlTextWriter(htmlStringWriter)) 
    { 
     mainDiv.RenderControl(htmlTextWriter); 
     output = generatedHtml.ToString();  
    } 
} 

Hope this helps cho độc giả đến ... :)

1

Và đây là cùng mã trong VB:

Dim generatedHtml As New StringBuilder() 
    Dim htw As New HtmlTextWriter(New IO.StringWriter(generatedHtml)) 
    mainDiv.RenderControl(htw) 
    Dim output As String = generatedHtml.ToString() 
Các vấn đề liên quan