powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Как изменить сгенерированный через Render html?
3 сообщений из 3, страница 1 из 1
Как изменить сгенерированный через Render html?
    #33849314
vralch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как в методе Render контрола (protected override void Render(HtmlTextWriter
output)) получить доступ к сгенерированному html с целью изменить его?
Пробовал так
  protected override void Render(HtmlTextWriter output)
  {      
   IFormatProvider ifp=output.FormatProvider;
   StringBuilder sb=new StringBuilder();
   sb.Append("Hello from StringBuilder");
   StringWriter sw=new StringWriter(sb,ifp);
   sw.Write("Hello from StringWriter");
   output.Write(sb.ToString());
  }
Не работает.
Обычный Label генерит
<span id="TextBoxStringLabel"></span>
Как получить доступ к этому html и как изменить его?
Label взята для примера. На ее месте может быть любой более сложный контрол.
На ней хочу понять сам принцип. Возможно ли это вообще?
...
Рейтинг: 0 / 0
Как изменить сгенерированный через Render html?
    #33849727
C...R...a...S...H
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Краткий ответ:
HttpResponse.Filter
Вот пример из МСДН

<%@ Page Language="VB" Debug="true"%>
<%@ Import Namespace="System.IO" %>
<%@ Import Namespace="Samples.AspNet.VB.Controls" %>
<script runat="server">

Private Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)

' Filter the text to be rendered as all uppercase.
Response.Filter = New UpperCaseFilterStream(Response.Filter)

' Convert a virtual path to a fully qualified physical path.
Dim fullpath As String = Request.MapPath("~\\TestFile.txt")

Try

Dim sr As StreamReader = New StreamReader(fullpath)

Do While sr.Peek() >= 0
Response.Write(Convert.ToChar(sr.Read()))
Loop
sr.Close()
Message.Text = "Reading the file was successful."

Catch ex As Exception

Message.Text = "The process failed."

End Try


End Sub

</script>
<html>
<head>
<title>HttpResponse.MapPath Example</title>
</head>
<body>
<form id="Form1" runat="server">

<asp:Label id="Message"
runat="server"/>

</form>
</body>
</html>



----------------------------------------
Knowledge is P...O...w...E...R!
My site
...
Рейтинг: 0 / 0
Как изменить сгенерированный через Render html?
    #33850510
Dkm_S
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
>Как получить доступ к этому html и как изменить его?
 
Публиковалось тут как-то. Что-то вроде этого:
 
string RenderControl(Control ctrl)
        {
            System.Text.StringBuilder sb = new System.Text.StringBuilder();
            System.IO.StringWriter tw = new System.IO.StringWriter(sb);
            System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter(tw);
            ctrl.RenderControl(hw);
            return sb.ToString();
        }


--
Абыpвалг! - сказал Linux после pyсификации
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Как изменить сгенерированный через Render html?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]