2012年4月8日 星期日

{JavaScript} 子母視窗傳值 windowOpen()

母視窗
window.open('TestReturnValue2.aspx?context=1');

TestReturnValue2子視窗
//當Label2為input 之html tag

window.opener.document.getElementById('Label2').value = 'abc';
//當Label1為asp.net之tag
window.opener.document.getElementById('Label1').innerHTML = 'abc';

-------------------------------------------------------------------------------------
使用user control傳值
母視窗
abc.ascx 上的control觸發:
window.open('TestReturnValue2.aspx?context=1');
abc.ascx上保留id 為return的control接回傳值
子視窗
cde.ascx 上的control觸發:

var returnValue = $('#<%=DataSource.ClientID %>').val();
            window.opener.document.getElementById('abc_return').value = returnValue;


結論:用底線隔開取得母視窗中user control上的control

參考文件:
http://forums.asp.net/t/453742.aspx/1