window.close()在母版页和控制面板中不起作用

时间:2015-06-05 11:45:05

标签: c# jquery html asp.net

我有一个.aspx页面,其中我有一个Asp:Button,单击将关闭哪个用户浏览器(Opera)选项卡。谷歌搜索后找到一个解决方案,从后面的代码实现这一点。 (对于Opera)

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

我已将此代码放在Page.Load事件中。

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">

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

1 个答案:

答案 0 :(得分:0)

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