保留曆史頁面的實作方法:IFRAME頁面套用 一、父頁面設定 1、aspx頁面 (1)增加javascript function <script language="javascript" type="text/javascript"> //設定IFrame function ShowLayer() { document.all.MyFormLayer.style.display=''; document.all.ParentFormLayer.style.height=0; return false; } </script> (2)将現有頁面用div包括起來,位于form之下,注意 此部份控件不得設定 height 屬性 <div id="ParentFormLayer" runat="server"> … </div> (3)新增用于顯示下屬子頁面的div及iframe <div id="MyFormLayer" runat="server" visible="false"> <iframe scrolling="no" frameborder="0" width="100%" height=800 id="IFRAME1" runat="server"> </iframe> </div> 2、aspx.cs 代碼 (1)增加方法 public static void CreateScript(System.Web.UI.Page mypage, string strScript, string ID) { string strscript = "<script language='javascript'>"; strscript += strScript; strscript += "</script>"; ClientScriptManager csm = mypage.ClientScript; if (!csm.IsStartupScriptRegistered(ID)) { csm.RegisterStartupScript(mypage.GetType(), ID, strscript); } } (2)于連結按鈕的事件中增加代碼 MyFormLayer.Visible = true; IFRAME1.Attributes.Add("src", "P2W4.aspx");// P2W4 為跳轉頁面,可以加參數 CreateScript(Page, "ShowLayer();", "SHOW"); (3)于Page_Load()事件中增加代碼 // 清除IFRAME1的屬性,以避免其他按鍵引發的事件帶出src所指的頁面 IFRAME1.Attributes["src"] = null; 二、子頁面設定 1、aspx頁面:無須專門設定。 2、aspx.cs代碼 (1)于傳回按鍵的事件中增加代碼 Response.Write("<script>parent.MyFormLayer.style.display = 'none';</script>");