Как я могу получить JavaScript на элемент управления, который может быть изначально скрыт в ASP.NET? - PullRequest
2 голосов
/ 17 апреля 2009

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

Для страницы, на которой изначально отображается элемент управления, JavaScript в элементе управления работает нормально, но для страницы, которая изначально скрывает элемент управления, JavaScript не работает.

В итоге я зарегистрировал javascript в коде, используя:

this.Page.ClientScript.RegisterClientScriptBlock(...);

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

Есть ли другой способ зарегистрировать javascript с использованием разметки, если он не был отправлен в браузер при загрузке страницы? Я пытаюсь уменьшить сетевой трафик, отправляя браузеру только то, что мне нужно, при загрузке страницы.

спасибо,

Mark

Ответы [ 3 ]

2 голосов
/ 17 апреля 2009

Проблема заключается не в том, чтобы сделать кнопку невидимой, а в том, чтобы иметь невидимую кнопку, на которую можно нажать из javascript, и заставить кнопку вызывать ее обработчик событий.

например:

   <asp:button id="button1" runat="server" style="display:none">

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

1 голос
/ 17 апреля 2009

Я предполагаю, что вы получаете элемент управления с помощью document.getElementById, если это так, вы можете проверить, является ли он нулевым, перед его использованием:

var ctrl = document.getElementById("someID");
if (ctrl) {
    do something here...
}
0 голосов
/ 17 апреля 2009

Если ваш элемент управления скрыт, если для его свойства на стороне сервера 'Visible' установлено значение false, браузер не может ни к чему присоединить js, поскольку ASP.NET не отображает элемент управления. Вы можете попробовать установить для свойства CSS display значение none.

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