1. 程式人生 > >子頁面獲取父頁面的值

子頁面獲取父頁面的值


2.使用window.showModalDialog()方法來彈出一個子視窗時,若想得到父視窗中的值,仍舊使用window.opener是得不到父視窗物件的。這裡我們就要在showModalDialog()方法中傳入window引數。然後在子視窗中得到這個代表父視窗的window,這樣就可以隨便操作父視窗中的值了。
指令碼如下:
在父視窗中,假如我們是在伺服器控制元件中呼叫javascript程式碼的,你可以這樣寫:
Page.ClientScript.RegisterStartupScript(this.GetType(), "test", "window.showModalDialog('Default4.aspx',window)", true);
Default4.aspx就是子視窗的頁面。這裡要注意不能使用Page.ClientScript.RegisterClientScriptBlock()因為Block方法會把該script指令碼寫在所有控制元件的前面,這樣在頁面被載入時,TextBox1控制元件還沒有被載入,子視窗就打開了,所以在子視窗時取不到任何控制元件的值的。而RegisterStartupScript()方法正好相反,他是把對應Script指令碼寫在所有控制元件的後面,所以子視窗能夠得到父視窗的任何控制元件的值。
如果你是在客戶端寫的JavaScript指令碼,那就更簡單了