Если вы хотите, чтобы ваш код работал с функцией stikalo () без EventListener, вы должны изменить свой ввод следующим образом:
<input id="sw" type="checkbox" name="switch" onclick="stikalo()">
Поскольку сжатие HTTP для ASP.NET обычно реализовывалось с помощью HttpModules начиная с версии 1.0, и HttpModules все еще принадлежат конвейеру запроса ASP.NET, используемому платформой MVC, можно все еще использовать HttpModule, чтобы ввести GZIP или выкачать фильтр ответа.
Здесь можно найти, что очень хорошее, с открытым исходным кодом, готовое поставляют реализацию: HttpCompress Ben Lowery (загружают в Google Code),
Просто необходимо добавить ссылку на DLL и добавить несколько строк к web.config. Это уже обрабатывает очень экзотические и редкие случаи и исключения. Можно добавить исключения к web.config, не на основе расширений файла (как в IIS6), а на типе пантомимы, который является, вероятно, точно, в чем Вы нуждаетесь.
Я должен добавить, что у меня есть на самом деле выполнение веб-сайта MVC ASP.NET на IIS6, пользующемся этой библиотекой, таким образом, я могу подтвердить, что это работает на практике.
В веб-конфигурации необходимо зарегистрировать StaticFileHandler и HTTP-модуль
<add verb="GET,HEAD,POST" path="*" type="[Web.Front.Modules].StaticFileHandler"/>
<add name="HttpCompressionModule" type="[Web.Front.Modules].HttpCompressionModule"/>
Исходный код Вы найдете здесь
Но не забывайте включать сжатие на IIS
Вот один вариант, который, кажется, работает для меня с MVC и IIS 6 с использованием сопоставлений с подстановочными знаками и URL-адресов без расширений:
Это обходной путь, но я застрял в Server 2003 и IIS 6.