Невозможно вызвать Javascript из Codebehind - PullRequest
1 голос
/ 06 января 2011

Я знаю, что моя проблема очень распространена, и подобные типы задавались здесь много раз, но моя проблема несколько иная. Я работаю над веб-приложением ASP.Net 4.0, где на моей требуемой странице есть элемент управления календарем ajax toolkit 4, менеджер наборов сценариев и несколько элементов управления asp. Теперь из этого всплывающего окна я делаю операцию сохранения по нажатию кнопки. Что я хочу, это закрыть всплывающее окно после успешного сохранения. Проблема не в сохранении, а после сохранения, автоматически закрывающем всплывающее окно. Я пробовал следующие способы:

  1. RegisterStartUpScriptBlock (this.GetType, "closeForm", "return window.close ();") и все другие обязательные параметры
  2. ClientScript.RegisterStartUpScript () --- вместе с параметрами и с обоими return window.close (); и window.close () также с помощью self.close ();
  3. Также у меня есть под заголовком тега ...

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

Ответы [ 2 ]

0 голосов
/ 06 января 2011

Если всплывающее окно означает модальное всплывающее окно AJAX Toolkit, вы можете просто позвонить popup.Hide(); в codebehind.

Если это окно браузера, пытались ли вы удалить часть return изcode?

Обратите внимание, что windows.close() не будет работать, если всплывающее окно не открывается с помощью window.open();

Кроме того, вы пытались просто поместить тег script в скрытый элемент управления PlaceHolderна стороне сервера Visible = false) по умолчанию и отображается только тогда, когда вам нужно?

0 голосов
/ 06 января 2011

если вы используете менеджер скриптов на странице ...

сначала создайте функцию для закрытия календаря в формате js в html ...

 function closeCalendar(){
   ....
}

затем используйте код для вызова этой функции js

string script = string.Format(@"closeCalendar()");

ScriptManager.RegisterClientScriptBlock(this, typeof(Page), UniqueID, script, true);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...