2010-03-15 3 views
1

Извините мой ограниченный knoweldge здесь.ASP.NET MVC Alter Markup перед выходом

В прошлом я использовал метод Стива Сандерсон в HTML закодировать по умолчанию во время выполнения: http://blog.stevensanderson.com/2007/12/19/aspnet-mvc-prevent-xss-with-automatic-html-encoding/

У меня есть необходимость изменить img src и a href атрибутов, прежде чем они плевали в браузере пользователя. Существует решение с использованием JavaScript, но это не идеально по нескольким причинам. Перехват компилятора не является вариантом из-за ненужного использования Response.Write для тривиального HTML.

Есть ли что-то, что я могу сделать с модулями HTTP или движком просмотра?

Любые мысли?

UPDATE: Мне не нужно кодировать атрибуты HTML, но мне нужно их изменить.

Cheers.

ответ

3

Использовать response filter. Работает с любым проектом ASP.NET, включая MVC. Должен работать, даже если вы используете другой механизм просмотра, поскольку он перехватывает на более низком уровне.

Вот конкретный пример, который удаляет пробельные:

http://www.4guysfromrolla.com/articles/120308-1.aspx

Я использовал это раньше, чтобы переписать ссылки перед отправкой к клиенту, но я не могу найти код на данный момент.

+0

Лучшее слово для того, что я хочу сделать - «переписать ссылки». Ура! – youwhut

+0

Фильтр отклика использовался для изменения разметки до выплескивания. для запуска фильтра ответа использовался HTTP-модуль. – youwhut

+0

Прохладный, рад, что это сработало для тебя. – Chris

Смежные вопросы