Для системы электронной коммерции после размещения заказа у меня есть пользовательский элемент управления, который отображает детали заказа. Я также хочу записать те же детали заказа в электронное письмо, поэтому я хочу записать содержимое пользовательского элемента управления в строку, которую я могу добавить в тело письма.
Я пытался использовать RenderControl, но ни один из динамически заполненных элементов управления метками в пользовательском элементе управления не был заполнен.
StringBuilder sb = new StringBuilder();
StringWriter sw = new StringWriter(sb);
HtmlTextWriter htw = new HtmlTextWriter(sw);
OrderDetails1.RenderControl(htw);
return sb.ToString();
В другом месте я обнаружил, что могу добавить элемент управления на страницу, а затем записать вывод страницы в строку, но это выглядит глупо.
Кажется, что я должен быть в состоянии захватить содержимое элемента управления, когда он впервые отображается, так что мне не нужно повторно его заполнять и повторно отображать. Кто-нибудь знает как?
Если нет, каков самый чистый способ заполнения контроля?