Отображать модальное после обратной передачи без ASP.NET Ajax - PullRequest
2 голосов
/ 16 августа 2010

У меня есть кнопка ASP.NET. Когда кнопка нажата, я бы хотел, чтобы модальное всплывающее окно отображалось после запуска серверного кода кнопки. Я не хочу использовать модальное средство расширения всплывающих окон для ASP.NET Ajax.

С ASP.NET Ajax я могу подключиться к событию конечного запроса. Есть ли способ сделать это без ASP.NET Ajax. просто jQuery? Я в основном хочу запустить некоторый javascript после запуска кода щелчка на стороне сервера, после обратной передачи.

Ответы [ 2 ]

5 голосов
/ 16 августа 2010

Для этого можно использовать ScriptManager.RegisterStartupScript(), что-то вроде этого:

ScriptManager.RegisterStartupScript(MyUpdatePanel, GetType(), "post-load-script",
  "$(function() { $('#dialog').dialog(); });", true);

Затем возвращается запрос от UpdatePanel, он будет работать так:

$(function() { 
  $('#dialog').dialog(); 
});

Конечно, вы можете поместить туда все, что захотите для скрипта, но если вы просто используете метку или что-то еще в #dialog <div>, который заполняется как часть обновления, это будет показано (если вы используете диалоговое окно jQuery UI , есть другие). Концепция очень общая, вы просто регистрируете JavaScript для запуска при возврате асинхронного запроса, который является модальным и как вы хотите это сделать, очень открыто.

3 голосов
/ 16 августа 2010

Это зависит от того, какой метод вы намереваетесь использовать для запуска обратной передачи через jQuery.Если вы собираетесь использовать асинхронную обратную передачу (например, jQuery.ajax), вы можете просто предоставить метод для вызова после завершения обратной передачи.См. http://api.jquery.com/jQuery.ajax/.

Если вы просто собираетесь использовать обычную обратную передачу, вы можете использовать Page.ClientScript.RegisterClientScriptBlock из вашего серверного метода, чтобы зарегистрировать скрипт, который будет выполняться после завершения обратной передачи.1004 *

...