在父子页面之间传递对象,怎么实现啊?急啊!在线等待中...!up有分 在一个页面上点击一个按钮,在它上面弹出一个它的子页面,同时传给它一个对象。然后,子页面按确定后关闭,有将这个传过来的对象传回去。怎么实现啊?老大们 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 什么父页子页?你意思是用window.open窗口?那是两个页面.不过你可以用javascirpt:window.opener来访问前一个页的控件值.至于对象,就比较麻烦了,用Session. 父页面<script language="jscript"> function opennewweb(){ window.open("aaa.aspx?id="+xxx.value+"","","width=350,height=380","");}</script>子窗口:private void Btclose_Click(object sender, System.EventArgs e){string newUrl = "&id2=" + bbb.Text;//加“&”是 如果之前父页面已经传递参数Response.Write("<script language='javascript'>");Response.Write(" window.opener.location.href=window.opener.location.href +\""+ newUrl+"\" ; ");Response.Write(" window.close(); ");Response.Write("</script>");} 如果父页面之前传值的参数跟子窗口传回的参数是一个的话,用url传值就有点麻烦了! To:baobei7758(陵少) 你这样只是传了个值啊,有传对象的方法吗? 使用Server.Transfer 这个方法相比上面介绍的方法稍微复杂一点,但在页面间值传递中却是特别有用的,使用该方法你可以在另一个页面以对象属性的方式来存取显露的值,当然了,使用这种方法,你需要额外写一些代码以创建一些属性以便可以在另一个页面访问它,但是,这个方式带来的好处也是显而易见的。总体来说,使用这种方法是简洁的同时又是面向对象的。使用这种方法的整个过程如下: 1,在页面里添加必要的控件 2,创建返回值的Get属性过程 3,创建可以返回表单的按钮和链接按钮 4,在按钮单击事件处理程序中调用Server.Transfer方法转移到指定的页面 5,在第二个页面中,我们就可以使用Context.Handler属性来获得前一个页面实例对象的引用,通过它,就可以使用存取前一个页面的控件的值了 以下代码综合实现上述步骤过程的代码: 源页面代码: 把以下的代码添加到页面中 public string Name { get { return TextBox1.Text; } } public string EMail { get { return TextBox2.Text; } } 然后调用Server.Transfer方法 private void Button1_Click (object sender, System.EventArgs e) { Server.Transfer("anotherwebform.aspx"); } 目标页面代码: private void Page_Load (object sender, System.EventArgs e) { //create instance of source web form WebForm1 wf1; //get reference to current handler instance wf1=(WebForm1)Context.Handler; Label1.Text=wf1.Name; Label2.Text=wf1.EMail; } 或者使用Session.此方法缺点是消耗服务器内存Session["Name"] = "aaa"; //aaa是要传递的值 利用Session或ViewState传递,在父窗口添加按钮控件并将隐藏在一个隐藏的<div>中,在子窗口调用按扭的点击事件。window.opener.document.form1.btn_Add.click() 用window.open弹出的页面有的时候用session是传不过去值的 用session啦, 用完就銷毀不就行了 用session阿,我的都是用的session,呵呵 这个不行啦,如果是使用脚本弹出的菜单,你只能通过脚本去传递,而无法通过服务端的东西来传递(SESSION可以,但容易出问题,而且传递的内容不能太大).你应该在两个页面之间,传递要修改的记录的ID,在页面结束之后,控件父页面进行刷新即可 图片预览!分不是问题! Repeater中DropDownList的问题。 关于对文件的操作记录! 这段代码如何理解? 请高人在指点指点 一台Web服务器能承担多少Client? 服务器端Table的Cell内控件取值问题 window.open ("11.htm?aa="+dd);如何在11.htm中接收aa的值 [ASP.NET]关于OleDbDataAdapter的错误,急问 连接远程数据库这2个哪个速度快呢? 请问如何可否将DataView转化为DataSet?在线等 Web树的刷新的问题,谁有好的解决方法
你意思是用window.open窗口?
那是两个页面.不过你可以用javascirpt:window.opener来访问前一个页的控件值.
至于对象,就比较麻烦了,用Session.
<script language="jscript">
function opennewweb(){
window.open("aaa.aspx?id="+xxx.value+"","","width=350,height=380","");
}
</script>子窗口:
private void Btclose_Click(object sender, System.EventArgs e)
{
string newUrl = "&id2=" + bbb.Text;//加“&”是 如果之前父页面已经传递参数
Response.Write("<script language='javascript'>");
Response.Write(" window.opener.location.href=window.opener.location.href +\""+ newUrl+"\" ; ");
Response.Write(" window.close(); ");
Response.Write("</script>");
}
这个方法相比上面介绍的方法稍微复杂一点,但在页面间值传递中却是特别有用的,使用该方法你可以在另一个页面以对象属性的方式来存取显露的值,当然了,使用这种方法,你需要额外写一些代码以创建一些属性以便可以在另一个页面访问它,但是,这个方式带来的好处也是显而易见的。总体来说,使用这种方法是简洁的同时又是面向对象的。使用这种方法的整个过程如下:
1,在页面里添加必要的控件
2,创建返回值的Get属性过程
3,创建可以返回表单的按钮和链接按钮
4,在按钮单击事件处理程序中调用Server.Transfer方法转移到指定的页面
5,在第二个页面中,我们就可以使用Context.Handler属性来获得前一个页面实例对象的引用,通过它,就可以使用存取前一个页面的控件的值了
以下代码综合实现上述步骤过程的代码:
源页面代码:
把以下的代码添加到页面中
public string Name
{
get
{
return TextBox1.Text;
}
} public string EMail
{
get
{
return TextBox2.Text;
}
}
然后调用Server.Transfer方法
private void Button1_Click
(object sender, System.EventArgs e)
{
Server.Transfer("anotherwebform.aspx");
}
目标页面代码:
private void Page_Load
(object sender, System.EventArgs e)
{
//create instance of source web form
WebForm1 wf1;
//get reference to current handler instance
wf1=(WebForm1)Context.Handler;
Label1.Text=wf1.Name;
Label2.Text=wf1.EMail;
} 或者使用Session.此方法缺点是消耗服务器内存
Session["Name"] = "aaa"; //aaa是要传递的值
window.opener.document.form1.btn_Add.click()
你应该在两个页面之间,传递要修改的记录的ID,在页面结束之后,控件父页面进行刷新即可