У меня есть кнопка «Сохранить» в FormView с установленным CommandName = «Update». Эта кнопка обновляет EntityDataSource, связанный с FormView.
После обновления EDS я хочу закрыть это (дочернее, всплывающее) окно и обновить родительское окно (чтобы оно отражало только что внесенные в данные изменения).
Для справки, у меня есть аналогичная кнопка "Отмена" на этой странице, которая просто вызывает функцию Javascript "OnClientClick":
function done() {
if (window.opener.closed) {
self.close();
} else {
window.opener.focus();
window.opener.location.href = opener.location;
self.close();
}
}
Теперь, как я могу позволить FormView и EDS сделать свое дело (обработать команду Update), а затем вызвать эту функцию javascript (или код для выполнения эквивалента) ???
После еще нескольких копаний я решил это. Проблема была связана с тем, что FormView находится внутри панели обновления. Я должен был использовать следующее:
ScriptManager.RegisterClientScriptBlock(this.UpdatePanel1, typeof(string), "done", "done();", true);