2011-01-06 5 views
1

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

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

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

ответ

1

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

сначала создать функцию, чтобы закрыть календарь в JS в вашем HTML ...

function closeCalendar(){ 
    .... 
} 

затем на коде использовать это, чтобы назвать это Js функцию

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

ScriptManager.RegisterClientScriptBlock(this, typeof(Page), UniqueID, script, true); 
+0

;-(Я не использую диспетчер сценариев. Ajax Control Toolkit 3.5+ не разрешает диспетчерам сценариев asp. Я думаю, что toolkitscriptmanager является основной причиной таких событий. –

+0

может быть какой-то вариант этого с помощью toolkitscriptmanager ... Я не знаком с что контроль хотя или Ajaxtoolkit 3.5+ – stephen776

+0

Спасибо, Stephen, scriptmanager работал ... спасибо большое ... –

1

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

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

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

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

+0

Я считаю, что он имеет в виду календарь как «всплывающее окно» – stephen776

+0

1. Нет его modaldialog, 2. я пробовал оба раза закрыть окно. window.close() и self.close с возвратом и без него ... пожалуйста, помогите мне, я застрял –

+0

Пробовал ли вы просто называть что-то вроде modalDialog.Hide(), в коде кода? – Meligy

Смежные вопросы