我有一个.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">
现在用户点击了这个,但意外地它只是刷新浏览器窗口而不关闭窗口。 我把这些渲染的代码放在这里,因为我坚信,它是罪魁祸首。如果是这样你能告诉我如何从代码背后实现这个吗?
答案 0 :(得分:0)
您应该使用onclientclick
代替onclick
来执行该javascript。没有理由只是为了调用关闭窗口的JavaScript而进行回发。