我在FormView上有一个“保存”按钮,其中设置了CommandName =“Update”。此按钮更新绑定到FormView的EntityDataSource。
更新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);
答案 0 :(得分:0)
一旦更新完成,它应该返回一个你可以注册你的功能的页面。在Update
命令处理程序中(假设这发生在服务器端),只需添加以下内容:
Page.RegisterStartupScript("AfterUpdate", "done();");
一旦Windows从更新命令引起的回发刷新,它将导致done()
javascript函数运行。如果页面中尚未显示done
功能,请确保在将其调用RegisterStartupScript
来之前添加其定义。