2013-12-05 2 views
1

Я работаю с String Builder и элементом управления Tree view, который я динамически генерирую на своей странице.Как получить HTML-код веб-элемента управления?

Это то, что я попытался с:

Public sbMenu As New StringBuilder 

В Page Load Событие

Dim TreeView1 As New TreeView() 
    TreeView1.ID = "tree1" 
    TreeView1.ShowCheckBoxes = TreeNodeTypes.All 
    TreeView1.ShowLines = True 
    TreeView1.Nodes.Clear() 

Я загрузки treeView1 с использованием базы данных и данных Atlast добавляющим к моей строки объекта builser в

sbMenu.Append("<div>") 
    sbMenu.Append(TreeView1) 
    sbMenu.Append("</div>") 

Но sbMenu не содержит TreeView1, вместо этого он хранит

System.Web.UI.WebControls.TreeView 

Можете ли вы мне помочь, по тому, как моя StringBuilder может удерживать управление TreeView и может использовать его ..

я буду использовать это в моей странице .aspx, как

<%= sbMenu.Tostring() %> 

здесь мне нужен элемент управления TreeView.

+0

Что вы * * ожидать, что значение строки из 'TreeView' должно быть? По умолчанию, когда вы вызываете 'ToString()' для объекта, он возвращает полное имя класса. –

+0

Мне нужно, чтобы StringBuilder удерживал элемент управления TreeView, и я могу использовать его на моей странице .aspx как <% = sbMenu.ToString()%>, чтобы я мог получить Tree View –

+0

. Вам действительно даже нужно динамически добавлять В виде дерева? Почему бы просто не поместить элемент управления на страницу, не добавить данные из кода и не скрыть его, если он вам не нужен? – MikeSmithDev

ответ

3

Вы можете получить HTML-код элемента управления, позвонив по номеру RenderControl. Например.

var sb = new StringBuilder(); 

using (var sw = new StringWriter(sb)) 
using (var writer = new HtmlTextWriter(sw)) 
{ 
    myControl.RenderControl(writer); 
} 

string html = sb.ToString(); 

Или в VB:

Dim sb = New StringBuilder() 

Using sw As New StringWriter(sb) 
    Using writer As New HtmlTextWriter(sw) 
     myControl.RenderControl(writer) 
    End Using 
End Using 

Dim html As String = sb.ToString() 
+0

... неправильный язык. – MikeSmithDev

+0

@MikeSmithDev Обновлено версией VB .NET. –

Смежные вопросы