2013-08-20 3 views
1

У меня есть строка и ее возвращающегося функцию отделенного кода:Load HTML из возвращаемой строки

string xmlContents = "<ul><li>Installation<br /><ul><li>Startup</li><li>Getting there</li><li>Steps</li>" + 
        "<li>Pictures</li></ul></li><li>Usage<br /><ul><li>Tilbud pane</li><li>Report pane</li>" + 
       "</ul></li></ul>"; 
public String returnXml() 
    { 
     return xmlContents; 
    } 

Тогда я вызываю его в файле ASPX:

<div id="treeviewMenu"> 
    <%returnXml(); %> 
</div> 

Когда я просто написать html-код (из списка) непосредственно в div - все в порядке. Но, передавая строку - это не работает.

Что я делаю неправильно и как это исправить?

ответ

1

Вы можете легко назначать HTML для Div путем div доступа к серверу, добавив RUNAT = "сервер"

HTML

<div id="treeviewMenu" runat="server"></div> 

В коде позади

treeviewMenu.InnerHTML = xmlContents; 
+0

, когда я добавить '=' 'знак в <% = returnXml(); %> 'Я получаю исключения. В противном случае он работает. И где я должен помещать 'treeviewMenu.InnerHTML = xmlContents;' в код позади, так как получаю исключения, если я помещаю его в функцию, которую у меня есть. Если я поставлю его отдельно, компилятор будет недоволен. И вообще, в чем смысл функции, возвращающей строку, если я использую это 'treeviewMenu.InnerHTML = ...'? – Syspect

+0

Я запустил его только с помощью 'treeviewMenu.InnerHTML = ....' в 'Page_Load()' и удаления блоков кода в div, потому что я получал исключение. 'Коллекция Controls не может быть изменена, потому что управление содержит блоки кода (то есть <% ... %>) .' – Syspect

+0

Я бы так сделал. – Adil

2

Примечание: = sign whithout; знак

Заменить этот код:

<div id="treeviewMenu"> 
    <%=returnXml() %> 
</div 
Смежные вопросы