我在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);
最佳答案
更新完成后,它将返回一个页面,您可以在其中注册功能。在您的Update
命令处理程序中(假设这是在服务器端进行的),只需添加以下内容:
Page.RegisterStartupScript("AfterUpdate", "done();");
一旦Windows从update命令引起的回发中刷新,它将导致
done()
javascript函数运行。如果您的页面上没有done
函数,请确保在将其定义为RegisterStartupScript
调用之前添加了它的定义。关于javascript - 更新formview后,我的按钮如何关闭窗口并刷新父项?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3526126/