Отображать ASP.Net Заполнитель .toString(), а не на страницу

#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 после его отображения.