#asp.net #webforms
#asp.net #веб-формы
Вопрос:
Я искал вокруг и не смог найти хорошего решения. У меня есть пользовательское расширение для PlaceHolder
элемента управления, который будет содержать выражения, из которых я хотел бы выводить строку без необходимости вызова control.Render()
, поскольку этот вызов автоматически записывает содержимое на страницу.
Кто-нибудь знает, как преобразовать содержимое, которое будет отображаться, в строку и запретить странице содержать его?
Ответ №1:
Часто повторяющийся, слегка устаревший код для этого выглядит примерно так:
public string RenderControl(Control ctrl)
{
StringBuilder sb = new StringBuilder();
StringWriter tw = new StringWriter(sb);
HtmlTextWriter hw = new HtmlTextWriter(tw);
ctrl.RenderControl(hw);
return sb.ToString();
}
Комментарии:
1. Как вы не позволяете странице также отображать содержимое элемента управления? [Решено] Установите для видимого элемента управления значение false после его отображения.