C#弹出子页面,关闭后传值给父页面并刷新父页面 各位好,我想做个点击父页面的一个按钮,弹出来一个小对话框,之后向那个弹出来的对话框中的textbox中输入值当对话框关闭的时候,把对话框当中的值,传到父页面当中的textbox中,谢谢各位 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 obj=window.opener.document.getElementById["xxx"];obj.value="xxx";window.close();不知道可以不 在父窗口中,用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> 建两个窗口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为用到了剪贴板 1,定义一个全局静态变量。2,模式对话框 Form2 f = new Form2(); f.ShowDialog(); //执行操作 } f.parent.controls["textbox1"]得到父窗体的的控件,传值过去 1、在子窗体加载时声明: 确定按钮.DialogResult = DialogResult.OK 取消按钮.DialogResult = DialogResult.Cancel 2、定义一个static的public变量,记录你textbox的值在确定按钮事件里面写在主窗体调用子窗体按钮的事件里面 子窗体f=new 子窗体() f.ower=this; f.ShowDialog(); if(f.DialogResult ==DialogResult .ok) { //你子窗体点击确定时要执行的东西 //根据你的要求你可以在这里把记录的值赋与主窗体} 用两个窗体的TAG属性,简单方便! C#打印预览dataGridView,但预览数据只有一页,使用e.HasMorePages = false也不行。请教!! iframe的问题求解 CuteEditor5.0上传到服务器只能用一次的问题 out参数出错,请指教 如何用dotnet开发绿色软件? 请问VS2012跑起来的WEB API如何在其他机器访问 C# 如何在TextBox 中使用keyUp事件处理ListView的Selected属性 菜鸟请求各位帮我一下 请高人指路:什么时候应该把数据存成自定义的文件,什么时候应该使用数据库保存? c## 数据库问题,简单问题! 【求助】如何批量下载Baidu搜索到的带附件的资料
obj.value="xxx";
window.close();
不知道可以不
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>
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为用到了剪贴板
2,模式对话框
Form2 f = new Form2();
f.ShowDialog();
//执行操作 }
f.parent.controls["textbox1"]得到父窗体的的控件,传值过去
确定按钮.DialogResult = DialogResult.OK
取消按钮.DialogResult = DialogResult.Cancel
2、定义一个static的public变量,记录你textbox的值
在确定按钮事件里面写在主窗体调用子窗体按钮的事件里面
子窗体f=new 子窗体()
f.ower=this;
f.ShowDialog();
if(f.DialogResult ==DialogResult .ok)
{
//你子窗体点击确定时要执行的东西
//根据你的要求你可以在这里把记录的值赋与主窗体
}