父页面:a.aspx
其中javascirpt 脚本如下:
showModalDialog 模态打开子窗体,返回值到父窗体_控件  function opendata(strUrl)//showModalDialog
showModalDialog 模态打开子窗体,返回值到父窗体_c#_02showModalDialog 模态打开子窗体,返回值到父窗体_控件_03    showModalDialog 模态打开子窗体,返回值到父窗体_控件_04{        
showModalDialog 模态打开子窗体,返回值到父窗体_控件_05        var aa=window.showModalDialog(strUrl,null,'dialogWidth:400px;dialogHeight:100px;center:yes;status:no;dialogWidth:400px;dialogHeight:300px');
showModalDialog 模态打开子窗体,返回值到父窗体_控件_05        if (aa!=null)
showModalDialog 模态打开子窗体,返回值到父窗体_java_07showModalDialog 模态打开子窗体,返回值到父窗体_数据_08        showModalDialog 模态打开子窗体,返回值到父窗体_控件_04{
showModalDialog 模态打开子窗体,返回值到父窗体_控件_05            document.all.txt_Send_Email.value=aa
showModalDialog 模态打开子窗体,返回值到父窗体_数据_11        }        
showModalDialog 模态打开子窗体,返回值到父窗体_数据_12    }

如果需要把txt_Send_Email的readonly设置为true 则,需要增加C#代码:
showModalDialog 模态打开子窗体,返回值到父窗体_控件txt_Send_Email.Attributes["readonly"] = "true";
否则如果在其他地方设置则不能读出txt_Send_Email的值

javascript 里面执行单击按钮操作
showModalDialog 模态打开子窗体,返回值到父窗体_控件document.getElementById("btn_get_value").click();
showModalDialog 模态打开子窗体,返回值到父窗体_控件//btn_get_value 是按钮名称
showModalDialog 模态打开子窗体,返回值到父窗体_控件


后台C#程序如下:
showModalDialog 模态打开子窗体,返回值到父窗体_控件txt_Send_Email.Attributes.Add("ondblclick", "opendata('frmChoose_UserForMail.aspx')");//
其中:txt_Send_Email是TextBox 控件
打开子页面:frmChoose_UserForMail.aspx
子页面(功能:实现关闭子页面,并且返回数据):
showModalDialog 模态打开子窗体,返回值到父窗体_控件   string strScr = "<script language=javascript> window.returnValue='qq'; " + "window.close(); </script>";
showModalDialog 模态打开子窗体,返回值到父窗体_控件        Page.RegisterClientScriptBlock("Close", strScr);  

showmodaldialog打开的页面中在<head></head>之间加入一行:<base   target="_self">  


关闭页面脚本:
showModalDialog 模态打开子窗体,返回值到父窗体_控件string str_strScr = "<script language=javascript> window.close();</script>";
showModalDialog 模态打开子窗体,返回值到父窗体_控件            Response.Write(str_strScr);
关闭页面不需要提示
showModalDialog 模态打开子窗体,返回值到父窗体_控件 string str_strScr = "<script language=javascript>     window.opener =null; window.close();</script>";
showModalDialog 模态打开子窗体,返回值到父窗体_控件        Response.Write(str_strScr);

2005里面验证通过


下面的代码可以好好研究研究

showModalDialog 模态打开子窗体,返回值到父窗体_控件 <script language="javascript" type="text/javascript">      
showModalDialog 模态打开子窗体,返回值到父窗体_控件        function BtnChooseApprover()
showModalDialog 模态打开子窗体,返回值到父窗体_c#_02showModalDialog 模态打开子窗体,返回值到父窗体_控件_03        showModalDialog 模态打开子窗体,返回值到父窗体_控件_04{
showModalDialog 模态打开子窗体,返回值到父窗体_控件_05            var obj = new Object();
showModalDialog 模态打开子窗体,返回值到父窗体_控件_05            obj.workflowstatue=document.getElementById("txtworkflow").value;
showModalDialog 模态打开子窗体,返回值到父窗体_控件_05            obj.userid=document.getElementById("txtuserid").value;
showModalDialog 模态打开子窗体,返回值到父窗体_控件_05            var  re = window.showModalDialog("Default.aspx",obj,"center:yes;dialogHeight:500px;dialogWidth:400px;scroll:no");
showModalDialog 模态打开子窗体,返回值到父窗体_控件_05            this.txtApprovers.Text=re;
showModalDialog 模态打开子窗体,返回值到父窗体_控件_05             
showModalDialog 模态打开子窗体,返回值到父窗体_数据_12        }
showModalDialog 模态打开子窗体,返回值到父窗体_控件    </script>