Я думаю, это еще одна проблема порядка загрузки.
Ваш скрипт запускается сразу после его загрузки. Если элемент страницы, который он пытается скрыть, не загружается в DOM во время запуска скрипта, тогда скрывать нечего. Я считаю, что зарегистрированные скрипты все входят в верхнюю часть страницы, перед контентом HTML, так что это всегда произойдет.
Чтобы заставить это работать, вы должны положить его в прослушиватель событий нагрузки. См.: Running javascript code on page load, without using the onload tag
Это говорит о том, что, поскольку вы пытаетесь скрыть элемент страницы без каких-либо условий, вы, вероятно, будете так же счастливы, что этот элемент страницы отключен со стороны сервера, либо добавив класс к элементу что ваш CSS скрывает или управляет своим стилем/видимостью непосредственно из кода сервера.
Если предполагается, что есть какое-либо условие, видно или нет Div, то делать все это на стороне клиента javascript, вероятно, лучше, так что вам не нужно совершать поездку на сервер только для контроля видимости ,
Есть ли у вас какие-либо UpdatePanel? –
Постарайтесь посмотреть на источник страницы, что он делает. – IvanH
Отметьте это также для предложений: http://stackoverflow.com/questions/9572265/which-of-these-methods-is-the-correct-way-to-show-hide-rows-in-asp-net – atconway