Как я могу манипулировать страницей во время ее рендеринга? - PullRequest
1 голос
/ 12 сентября 2010

Я хочу изменить текст некоторых элементов, когда страница покидает сервер (page_render, endRequest и т.тексты?

Ответы [ 3 ]

1 голос
/ 12 сентября 2010

Помимо HttpModules, вы также можете переопределить метод 'Render' (или сделать это на базовой странице, чтобы сделать его многократно используемым).

1 голос
/ 12 сентября 2010

Существует несколько вариантов, и от каких наборов вы будете зависеть в значительной степени от фактической цели.

  1. Обработайте событие PreRender страницы и настройте любые элементы, которые вы хотите использовать в этом событии.,В идеале вы должны поместить это в базовый класс, который наследуется всеми страницами, требующими такой обработки.Это дает вам доступ к фактической модели страницы и дереву управления.
  2. Установите фильтр, который даст вам прямой доступ к потоку ответов.Вы можете реализовать это двумя способами, либо в виде отдельного модуля HttpModule, который устанавливает фильтр, либо вы можете установить фильтр непосредственно из Global.asax.Какой маршрут вы выберете, зависит от того, насколько многократно вам это понадобится, с HttpModule наиболее подходящим.

Вот хорошая статья Изменение ответа HTTP с помощью фильтров

1 голос
/ 12 сентября 2010

Вы можете сделать это, используя HttpModule .Он находится в конвейере и может выполнять предварительную и последующую обработку.

Например, взгляните на этот whitespaceremover .

...