各位好,
我想做个点击父页面的一个按钮,弹出来一个小对话框,之后向那个弹出来的对话框中的textbox中输入值
当对话框关闭的时候,把对话框当中的值,传到父页面当中的textbox中,谢谢各位

解决方案 »

  1.   

    obj=window.opener.document.getElementById["xxx"];
    obj.value="xxx";
    window.close();
    不知道可以不
      

  2.   

    在父窗口中,用JS:
    var rVal=window.showModalDialog("Child.aspx","form1","dialogHeight:500px;dialogWidth:700px;");
    if(rVal!=""&&rVal!=undefined&&rVal!=null)
    {
            var txtbox = document.getElementById('txtChange');
    txtbox.value=rVal;
        __doPostBack('<%=txtChange.ClientID %>','');
    }在父窗体中加一个txtChange控件,当你关闭子窗口之后,就把值存到这个控件中了,并且刷新了一下父窗体的页面(当然刷新的功能很多,看LZ的爱好了)
    子窗体:
    function ReturnParent(returnValue)
    {
    window.returnValue=returnValue;
    window.close();
    }
    具体这个方法的调用我想就不用说了吧,这样就可以将returnValue值传到父窗口了,父窗口的rVal参数接到的值就是returnValue
    还有子窗体的head里面要有
    <base target="_self">
    </head>
      

  3.   

    建两个窗口
    Form1中有一个TextBox两个按钮,Form2中有一个Textbox,代码如下:
    Form1代码如下:
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }        private void button1_Click(object sender, EventArgs e)//按钮1用于开启第二个窗口
            {
                Form2 f = new Form2();
                f.MdiParent = this;
                f.Show();
            }        private void button2_Click(object sender, EventArgs e)//按钮2用于吸收值
            {
                textBox1.Text = Clipboard.GetText();
            }
        }
    Form2代码如下:
        public partial class Form2 : Form
        {
            public Form2()
            {
                InitializeComponent();
            }        private void Form2_Leave(object sender, EventArgs e)
            {
                Clipboard.Clear();
                Clipboard.SetText(textBox1.Text);
                
            }
        }
    注:Clipboard为用到了剪贴板
      

  4.   

    1,定义一个全局静态变量。
    2,模式对话框
            Form2 f = new Form2();
                f.ShowDialog();
                //执行操作        }  
            f.parent.controls["textbox1"]得到父窗体的的控件,传值过去
      

  5.   

    1、在子窗体加载时声明: 
    确定按钮.DialogResult = DialogResult.OK 
    取消按钮.DialogResult = DialogResult.Cancel 
    2、定义一个static的public变量,记录你textbox的值
    在确定按钮事件里面写在主窗体调用子窗体按钮的事件里面 
    子窗体f=new 子窗体() 
    f.ower=this; 
    f.ShowDialog(); 
    if(f.DialogResult ==DialogResult .ok) 

    //你子窗体点击确定时要执行的东西 
    //根据你的要求你可以在这里把记录的值赋与主窗体
      

  6.   

    用两个窗体的TAG属性,简单方便!