ASP.NET打開新窗口方法一:
Response.Write("<script language=/"javascript/">window.open('aaa.aspx','新窗口,/"toolbar=yes,location=no,directories=yes,status=yes,menubar=yes,resizable=yes,scrollbars=yes/");</script>");
這種方式代碼每次是生成在頁面最頂端
ASP.NET打開新窗口方法二:
string strScript = "";
strScript += "<script language=/"javascript/">/n";
strScript += "window.open('aaa.aspx','新窗口,/"toolbar=yes,location=no,directories=yes,status=yes,menubar=yes,resizable=yes,scrollbars=yes/");/n";
strScript += "location.href='index.html';";
strScript += "</script>";
bool b = ((Page)System.Web.HttpContext.Current.Handler).IsStartupScriptRegistered("PopUp");
if (!b)
{
((Page)System.Web.HttpContext.Current.Handler).RegisterStartupScript("PopUp",strScript);
}
這種方式是在頁面中生成JAVASCRIPT代碼
注意:如果輸出JAVSSCRIPT語句後,頁面又用Response.Redirect跳轉到其他頁,JAVASCRIPT將不會出現.
實現彈出窗口和跳轉同時必須都在JAVASCRIPT語句裡,
這是我測試的,不知道大家有沒有什麼不同的意見??
1.Response.Redirect("XXX.aspx",true)——直接轉向新的頁面,原窗口被代替;
2. Response.Write("<script>window.open(XXX.aspx','_blank')</script>")——原窗口保留,另外新增一個新頁面;
3.Response.Write("<script>window.location=XXX.aspx'</script>")——打開新的頁面,原窗口被代替;
4.Server.Transfer("XXX.aspx")——打開新的頁面;
5.Response.Write("<script>window.showModelessDialog(XXX.aspx')</script>")——原窗口保留,以對話框形式打開新窗口;
6.Response.Write("<script>window.showModalDialog(XXX.aspx')</script>")——對話框形式打開新窗口,原窗口被代替;