ASP.NET Ajax: закрыть окно после вызова Ajax? - PullRequest
1 голос
/ 30 октября 2008

Я использую ASP.NET Ajax. Как я могу сказать браузеру закрыть текущее окно после завершения вызова сервера (код на стороне сервера)?

Мне удалось сделать это с помощью метода ScriptManager Ajax в ASP.NET «RegisterDataItem» в методе сервера (внутри обработчика нажатия кнопки):

sm.RegisterDataItem(ActionLabel, "action:closewindow")

и скрытый ярлык и обработка его таким образом на клиенте:

function PageLoadingHandler(sender, args)
{
    var dataItems = args.get_dataItems();
    if (dataItems['ActionLabel'] == 'action:closewindow') {
        window.close()
    }
}
Sys.WebForms.PageRequestManager.getInstance().add_pageLoading(PageLoadingHandler);

Но он чувствует себя грязным . Должен быть более элегантный способ сделать это.

Спасибо за любой совет.

1 Ответ

1 голос
/ 30 октября 2008

Если я вас правильно понял, регистрация window.close() с помощью метода ScriptManagers RegisterStartupScript в обработчике событий должна работать. Подробнее об использовании ScriptManager.RegisterStartupScript см. MSDN

...