Во-первых, если вы хотите получить доступ к элементам управления на стороне клиента, они должны быть отображены как HTML.Когда вы используете Control.Visible , он не будет отображаться на клиенте и доступен только на стороне сервера.Поэтому вы должны использовать CSS, чтобы переключить его видимость на стороне клиента.
показать div:
document.getElementById('menu').style.display = 'inherit';
Вы можете скрыть это с помощью:
document.getElementById('menu').style.display = 'none';
Вы должныимейте в виду, что идентификатор серверных элементов управления может измениться, если он находится внутри другого NamingContainer , чем страница (например, в GridView или UserControl).Поэтому вы должны использовать Control.ClientID , чтобы получить правильный идентификатор, который будет сгенерирован из ASP.Net:
Так что это лучше:
document.getElementById('<%= menu.ClientID %>').style.display = 'none';
В ASP.Net 4.0 можно настроить ClientID.Для получения дополнительной информации: