window.close()不能在母版和控制面板中工作

本文关键字:控制面板 工作 close 不能 window | 更新日期: 2023-09-27 17:53:29

我有一个.aspx页面,其中我有一个Asp:按钮,点击哪个用户浏览器(Opera)选项卡将被关闭。在谷歌搜索了很多之后,我找到了一个从代码后面实现这一点的解决方案。(for Opera)

<asp:Button ID="BTN" runat="server" Text="close the window" onclick="BTN_Click"/>

我把这段代码放在Page中。加载事件。

BTN.Attributes.Add("onclick", "window.close();");

这是它在HTML中呈现的内容

<input type="submit" name="BTN" value="close the window" onclick="window.close();" id="BTN">

它是正常工作如预期,用户点击按钮和窗口被关闭。请注意浏览器是Opera。

现在看看同样的代码,唯一的区别是按钮继承了母版页和内容面板属性,所以在这种情况下,它是这样呈现的
<input type="submit" name="ctl00$MainContentPlaceHolder$BTN" value="close the window by clicking me" onclick="window.close();" id="ctl00_MainContentPlaceHolder_BTN" clientidmode="static">

现在用户点击这个,但意外的是它只是刷新浏览器窗口,而不是关闭窗口。我把这些渲染代码放在这里,因为我坚信它是ID的罪魁祸首。如果是这样的话,你能建议我如何从代码后面实现这一点吗??

window.close()不能在母版和控制面板中工作

您应该使用onclientclick而不是onclick来执行该javascript。没有理由做回发只是为了调用javascript关闭窗口。