gpt4 book ai didi

ASP.NET WebForms + Postback 然后打开弹出窗口

转载 作者:行者123 更新时间:2023-12-02 10:01:21 25 4
gpt4 key购买 nike

我有一个 LinkBut​​ton,它必须回发才能执行某些逻辑。

完成后,我不想在浏览器中加载页面,而是想保留它并弹出一个新窗口。

到目前为止,我的最佳想法是将 LinkBut​​ton 放入 UpdatePanel 中,并让它在重新加载时呈现一些 JavaScript,但我认为这完全是 hacky。另外,如果我没记错的话,更新面板中的 JavaScript 无论如何都不会运行。

还有其他想法吗?

最佳答案

使用 LinkBut​​ton.PostBackUrl 设置要 POST 的不同页面,以及一些客户端脚本来获取新窗口(并恢复旧目标,以便将来的回发正常工作)。第二页可以使用 PreviousPage 从原始页面访问任何需要的状态。

<script runat="server">
void lnk_Click(object sender, EventArgs e) {
// Do work
}
</script>

<script type="text/javascript">
var oldTarget, oldAction;
function newWindowClick(target) {
var form = document.forms[0];
oldTarget = form.target;
oldAction = form.action;
form.target = target;

window.setTimeout(
"document.forms[0].target=oldTarget;"
+ "document.forms[0].action=oldAction;",
200
);
}
</script>

<asp:LinkButton runat="server" PostBackUrl="Details.aspx" Text="Click Me"
OnClick="lnk_Click"
OnClientClick="newWindowClick('details');" />

关于ASP.NET WebForms + Postback 然后打开弹出窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/309979/

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