Свойство «Видимый» между c # и JavaScript - PullRequest
0 голосов
/ 24 ноября 2011

Во-первых, извиняюсь за странное название.Не могу вспомнить ни одного lol.

Когда я скрываю элемент в коде (c #), например:

btnRemoveAvail.Visible = false;

, тогда следующая строка jquery wont работа (когда приходит время показывать):

$('#btnRemoveAvail').show();

(он вообще не возвращает ошибки, как будто его 100% круто .. но ничего не происходит)

Я попробовал тогда следующее(как говорит форум jquery .show похож на настройку отображения для блокировки ..?): document.getElementById("btnRemoveAvail").style.display = "block";

И это вернуло ошибку: document.getElementById ("btnRemoveAvail") является нулевым

Ответы [ 2 ]

4 голосов
/ 24 ноября 2011

В веб-формах (я предполагаю, что вы используете веб-формы), когда вы устанавливаете видимость элементов управления в false, он вообще не отображается как html, поэтому он не доступен в DOM для манипулирования jquery.

если вы хотите, чтобы он был доступен, вы можете установить его атрибуты на стороне клиента из кода, подобного этому.

 btnRemoveAvail.Attributes.Add("style","display:none");

Теперь вы можете манипулировать его видимостью или любым другим свойством через jquery, поскольку он будет доступен вDOM, но просто не виден.

Надеюсь, это поможет.

1 голос
/ 24 ноября 2011

Можете ли вы проверить, что на вашей странице создан элемент с именем btnRemoveAvail?

Бьюсь об заклад, он не создается. Я считаю, что установка кнопки как Visible = false со стороны сервера просто не отображает объект на клиенте.

Вам нужно установить стиль кнопки, чтобы она включала display:none. Таким образом, элемент будет визуализирован, но скрыт с помощью CSS. Затем вы можете вызвать метод .show, и он должен работать.

...