gpt4 book ai didi

javascript - 更新 formview 后,我的按钮如何关闭窗口并刷新父窗口?

转载 作者:行者123 更新时间:2023-11-28 10:29:25 25 4
gpt4 key购买 nike

我在 FormView 上有一个“保存”按钮,并设置了 CommandName="Update"。此按钮更新绑定(bind)到 FormView 的 EntityDataSource。

更新 EDS 后,我想关闭此(子、弹出)窗口并刷新我的父窗口(这样它将反射(reflect)刚刚对数据所做的更改)。

作为引用,我在此页面上有一个类似的“取消”按钮,它仅调用 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();");

一旦窗口因更新命令引起的回发而刷新,它将导致 done() javascript 函数运行。如果您的 done 函数尚未在页面中,请确保在将其调用到 RegisterStartupScript 调用之前添加它的定义。

关于javascript - 更新 formview 后,我的按钮如何关闭窗口并刷新父窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3526126/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com