У меня здесь сложная проблема.RenderControl не выводит дочерние элементы управления HTML
Контекст: Я редактирую проект формы, который динамически создает его на основе определения XML для каждого запроса, чтобы добавить функцию генерации PDF с использованием Aspose.PDF. Короче говоря, механизм форм как набор элементов управления, которые действуют как базовые функции для заполнения формы (текстовое поле, номер телефона, контроль даты и т. Д.), Каждый элемент управления и его свойства определяются в файлах xml и соответствуют xml схемы. Теперь, когда форма завершена, существует элемент управления formRepeater, который извлекает ранее заполненную страницу и форматирует данные для печати в веб-браузере. Я должен заменить это, чтобы вместо этого создать pdf-файл.
Что я сделал: Я добавил новый абстрактный метод GeneratePdf, который должен реализовать весь FormControls, и я вызываю этот метод для каждого элемента управления и субконтроля в моем контейнере PreRender контейнера управления. Метод будет отличаться в зависимости от каждого элемента управления, но вот основной один сейчас
public override void GeneratePdf(Aspose.Pdf.Generator.Pdf file)
{
//Add the control HTML in a new section of the PDF File
var section = file.Sections.Add();
var sb = new StringBuilder();
var writer = new HtmlTextWriter(new StringWriter(sb));
this.RenderControl(writer);
var html = new Aspose.Pdf.Generator.Text(section, sb.ToString());
html.IsHtmlTagSupported = true;
section.Paragraphs.Add(html);
}
Моей проблема: Я успешно извлекая HTML моих элементов управления с помощью StringBuilder, но если элемент управления в качестве стандартного ASP.NET элементы управления внутри них, HTML дочерних элементов управления не отображается. Зачем?
Спасибо,