Продолжая то, что Дейв Уорд сказал:
- Нельзя установить для свойства Visible значение false, поскольку элемент управления не будет отображаться.
- Вы должны использовать свойство Style , чтобы установить display в none .
Страница / Управление дизайном
<asp:Label runat="server" ID="Label1" Style="display: none;" />
<asp:Button runat="server" ID="Button1" />
Код позади
Где-то в разделе загрузки:
Label label1 = (Label)FindControl("Label1");
((Label)FindControl("Button1")).OnClientClick = "ToggleVisibility('" + label1.ClientID + "')";
Файл Javascript
function ToggleVisibility(elementID)
{
var element = document.getElementByID(elementID);
if (element.style.display = 'none')
{
element.style.display = 'inherit';
}
else
{
element.style.display = 'none';
}
}
Конечно, если вы хотите не переключаться, а просто показывать кнопку / метку, то соответствующим образом измените метод javascript.
Важным моментом здесь является то, что вам необходимо отправить информацию о ClientID
элемента управления, которым вы хотите манипулировать на стороне клиента, в файл javascript либо путем установки глобальных переменных, либо через параметр функции, как в моем примере.