从界面a.aspx界面中有个按钮<input id="Button1" type="button" value="button" onclick="showModelDialog();" />对应的事件是: function showModelDialog() {
window.showModalDialog("b.aspx", null, "dialogHeight: 580px; dialogWidth: 440px;");
}跳转到b.aspx页面。
在b界面中有个按钮,是服务端控件。<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button"/>现在在需要在事件Button1_Click中关闭b页面,有如下代码: protected void Button1_Click(object sender, EventArgs e)
{
Response.Write("<script language='javascript' type='text/javascript'>window.close();</script>");
}它会弹出提示,而且点击提示中的确定后,它不会关闭b页面。而是关闭了另外又弹出的一个b页面。Q:如何直接关闭b页面啊?
window.showModalDialog("b.aspx", null, "dialogHeight: 580px; dialogWidth: 440px;");
}跳转到b.aspx页面。
在b界面中有个按钮,是服务端控件。<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button"/>现在在需要在事件Button1_Click中关闭b页面,有如下代码: protected void Button1_Click(object sender, EventArgs e)
{
Response.Write("<script language='javascript' type='text/javascript'>window.close();</script>");
}它会弹出提示,而且点击提示中的确定后,它不会关闭b页面。而是关闭了另外又弹出的一个b页面。Q:如何直接关闭b页面啊?
{
Response.Write("<script language='javascript' type='text/javascript'>window.close();</script>");
}这个就不该再用服务端按钮做了。它在后方怎么能直接管到你前方已经运行的前台页面呢,硬让它做,它只能按你这种指示,又输出一个B页面来执行你这次发出的JS指令。把这个服务端控件
<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button"/>换成客户端的按钮:
<input type="button" value="关之" onclick="window.close()" />
就这样完事了,多简便。
protected void Button1_Click(object sender, EventArgs e)
{
Response.Write("<script language='javascript' type='text/javascript'>window.close();</script>");
}去掉
而且,我直接用执行b页面(不是从a页面跳转过来的),在b页面里面就可以直接关闭,而不会先再弹出个b再关闭的这点怎么解释啊???
哦 ,,我刚刚测试了下,,chrome支持这个方法, 是opera不支持这个方法
http://www.w3help.org/zh-cn/causes/BX9036
那请问:这个showModelDialog()可以用什么方法代替呢??要实现这样的功能。
<base target="_self" />就可以不弹出新页面了。
直接拿div模拟一个就好了 在div里面套一个lightbox 然后fixed定位一下