页面a.aspx里有一个服务器asp:button(点击会postback到后台,执行完后close此页面)和一个html button(点击后close此页面),该页面用window.open打开。打开a.aspx后,如果点击asp:button,关闭页面,再打开再点击关闭,到第三次时页面就打不开,窗口可以出来,但是是个空的白窗口,然后就死在那里。我在后台加了代码,发现第三次打开时请求没到到达后台。如果点击的是html button的话,不管多少次都没有问题。而且,这个问题只在服务器上才出现,在我本地没有任何问题。怀疑是IIS的原因,但是查了一下也没找到原因,郁闷死。有没有哪位老大遇到过此问题,或者提供点想法也行,多谢。
window.open("a.aspx?act="+act,"Profile","height=580,width=790,status=no,toolbar=no,menubar=no,location=no");// a.aspx code
<div class="userContainer" style="width:737px!important; width:750px;">
<div class="grid-button-container">
<asp:Button ID="btnUpdate" OnClick="eventUpdate" CssClass="inputButton" runat="server" Text="Save and Close" Width="100"></asp:Button>
<input class="inputButton" onclick="window.close();" type="button" value="Cancel" />
</div>
</div>
//a.aspx.cs code
protected override void OnPageLoad(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
.....
}
}
protected void eventUpdate(object sender, EventArgs e)
{
.....
Response.Write("<script type='text/javascript'>window.close();</script>");
}
url += "t=" + new Date().getTime();
没有,就是打开它,初始化一些服务器控件,如dropdownlist等,然后点save and close关闭。奇怪就奇怪在,前面两次都是正常的,到了第三次就死了。一旦死了,就需要关掉整个应用,然后重新登陆,两次后又能重现。
Page.RegisterClientScriptBlock还是注册一段脚本块试试吧