2008-10-12 5 views
0

Я хочу использовать xml и xsl для создания элементов управления на странице asp.net.ASP.NET, XSLT и динамические элементы управления

В настоящее время у меня есть страница содержимого asp.net, содержащая элемент управления xml. Когда страница загружается, загружается xml-файл, и необходимый элемент извлекается и устанавливается как DocumentContent элемента управления xml, а TransformSource элемента управления xml устанавливается в соответствующий файл xsl.

В файле xsl я хочу использовать шаблоны для создания элементов управления asp.net в зависимости от содержимого xml. Есть ли простой способ сделать это с помощью элемента управления xml на странице содержимого?

+0

Опубликовать образец XML – 2008-10-12 19:39:55

ответ

0

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

Может возникнуть способ создания результата преобразования и вызвать некоторый синтаксический анализ, который может быть применен к странице, но это не соответствует вашему «простому» требованию.

0

Я не знаю ни одного легко способа сделать это, но есть несколько систем, которые там производят САША разметку на лета затем отправить его в САШАХ выполнение из потока памяти (или аналогичного) ,

Я думаю, что umbraco использует систему что-то вроде этого, но механизм начального компоновщика, вероятно, немного ниже уровня, чем управление aspnet. Это может быть достигнуто с помощью httpmodule или чего-то еще, что попадает ранее в конвейер запроса.

1

Зарегистрируйте пространство имен в своем XSL, чтобы вы могли поместить в него теги на платформе .NET. Запустите XSL-преобразование с вашим XML. Запустите результат вашего преобразования через Page.ParseControls(). Это даст вам хорошую иерархию управления. Добавьте вывод этой функции в свою коллекцию Controls (или коллекцию элементов управления вашего заполнителя), и вы хорошо пойдете.

Есть много предостережений для использования динамических элементов управления в .NET, поэтому будьте осторожны.