ASP.NET 子視窗呼叫 父視窗 Javascript Function的方法

最近在研究的一些應用,想好久,終於想到大概的用法
利用JQUERY的燈箱效果開啟子視窗,之後在子視窗按下按鈕觸發
父視窗的Javascript事件並帶參數,接著透過該事件使用Jquery append方法,
將資料帶到父視窗的某個tab內

程式語法說明
System.Web.UI.ScriptManager.RegisterStartupScript(this, this.GetType(), "label_01", "parent.kkbox();", true);

注意第四個參數 "kkbox();" 這個為父視窗的方法,也就是在這個地方可以呼叫父視窗的任何方法,
只要加入 parent 開頭即可。在這裡也可以輸入javascript指令,
如 alert("警告,將返回首頁");location.href='index.aspx';
System.Web.UI.ScriptManager.RegisterStartupScript(this, this.GetType(), "label_01", "alert('警告,將返回首頁');location.href='index.aspx';", true);
關於ScriptManager.RegisterStartupScript參考


當然,也可以在父視窗放置一個textbox 的容器,ID為TextBox1
然後在子視窗改寫成
System.Web.UI.ScriptManager.RegisterStartupScript(this, this.GetType(), "opennewwindow", "parent.document.getElementById('ContentPlaceHolder1_TextBox1').value='傳給你了哦'", true);

這邊如果不是使用 jquey方法的燈箱的話,如果是使用 windows.open方法的開新視窗
那麼第四個參數的 parent 就必須改成 opener (這部分應該網路上範例很多)


關鍵就靠這個方法,去把資料新增到父視窗的tab就可以了。

需注意:一定要在 <form> </form> 內才可使用

沒有留言:

張貼留言