У меня возникла проблема, когда сторонний компонент, по-видимому, вмешивается в Response.Write
и вызывает отображение любого содержимого в пределах Response.Write("")
перед любым другим html. Например:Какова практическая разница между Response.Write и <%= %>?
<html><head><title><% Response.Write("HELLO WORLD") %>
будет отображаться как
HELLO WORLD<html><head>...
Тем не менее, любое содержимое визуализируется с использованием <%= %>
блоков будет работать правильно . Ниже код будет работать отлично:
<html><head><title><%="HELLO WORLD"%>
Я всегда считал, что <%=
просто сокращение для Response.Write
. Из того, что мне удалось найти на MSDN, я теперь понимаю, что он <%=
в конечном итоге преобразован в Response.Write, но, видимо, есть несколько шагов между ними.
Кто-нибудь имеет догадку о том, почему эти два будут выглядеть по-другому или укажут на какую-то документацию/информацию, объясняющую, как обрабатываются блоки <%= %>
?
Обновление: Элемент управления, который вызывал проблему, был элементом управления Telerik AjaxManager из выпуска Q1 2009 года. Устранение проблемы с повышением до Q2.
К сожалению, у меня нет доступа к источнику, поэтому я не смог понять, почему этот элемент управления вызывает такое поведение. Проблема решена, но мне все еще очень любопытно, почему она существует в первую очередь.
Какой из сторонних компонентов вы используете? – madcolor
Эта проблема действительно не имеет смысла ... Никогда не случилось со мной ... – voyager
@voyager, я полностью согласен; это не имеет никакого смысла. Я бы поставил под сомнение мое здравомыслие, но другой разработчик смог воспроизвести поведение на своей локальной машине (тот же проект); @madcolor Множество элементов управления Telerik (ajax, модальное всплывающее окно, сетка); –