展会信息港展会大全

ASP.NET 窗体间传值实现方法
来源:互联网   发布日期:2016-01-26 11:06:35   浏览:1889次  

导读:假设ParentForm aspx 页面上有TextBox1文本框和Open按钮点击Open按钮弹出SubForm aspx,SubForm aspx页面上有TextBox1文本框和Close按钮点击Close按钮关闭SubForm aspx页面,并把子页面SubForm aspx文本框的值显 ...

假设ParentForm.aspx 页面上有TextBox1文本框和Open按钮

点击Open按钮弹出SubForm.aspx,SubForm.aspx页面上有TextBox1文本框和Close按钮

点击Close按钮关闭SubForm.aspx页面,并把子页面SubForm.aspx文本框的值显示到父页面ParentForm.aspx 的文本框上。

父窗体前台代码:

代码如下

<script type="text/javascript">

function OpenSubForm(ret) {

var strPath = "subForm.aspx"

var nHeight = 500

var nWidth = 500

var feature

feature = "Height= " + nHeight + ",Width=" + nWidth + ",top=30,Left=30";

feature += ",dependent=yes,location=no,resizable=yes,scrollbars=yes,status=yes,toolbar=no;";

window.open(strPath+"?Ret_Form=Form1&Ret_Value="+ret,'subForm',feature).focus();

return false;

}

</script>

父窗体后台代码:

代码如下

private void Page_Load(object sender, System.EventArgs e)

{

// ペ?ジを初期化するユ?ザ? コ?ドをここに?啡毪筏蓼?br />this.Button1.Attributes.Add("onClick","return OpenSubForm('TextBox1');");

}

子窗体后台代码:

代码如下

private void Button1_Click(object sender, System.EventArgs e)

{

string strScript =string.Empty;

string strRetForm = String.Empty;

string strRetValue=String.Empty;

strRetForm=Request.Params["Ret_Form"];

strRetValue=Request.Params["Ret_Value"];

if (strRetForm == string.Empty)

{

strRetForm= "document.forms[0]";

}

strScript = "<script language=javascript>";

strScript += "window.opener." + strRetForm;

strScript += "." + strRetValue + ".value='" + this.TextBox1.Text.Trim() + "';";

strScript += "window.close();";

strScript += "</script>";

Response.Write(strScript);

}

上面是js其实也就是页面传值了,下面我把一些页面传值的代码发给大家参考。

页面间传值的几种方式 .

下面的代码片断演示了如何实现这个方法:

源页面WebForm1.aspx.cs中的部分代码:

代码如下

private void Button1_Click(object sender, System.EventArgs e)

{

string url;

url="WebForm2.aspx?name=" + TextBox1.Text + "&email=" + TextBox2.Text;

Response.Redirect(url);

}

目标页面WebForm2.aspx.cs中的部分代码:

private void Page_Load(object sender, System.EventArgs e)

{

Label1.Text=Request.QueryString["name"];

Label2.Text=Request.QueryString["email"];

}

使用Session变量

源页面WebForm1.aspx.cs中的部分代码:

代码如下

private void Button1_Click(object sender, System.EventArgs e)

{

//textbox1 and textbox2 are webform

//controls

Session["name"]=TextBox1.Text;

Session["email"]=TextBox2.Text;

Server.Transfer("WebForm2.aspx");

}

目标页面WebForm2.aspx.cs中的部分代码:

代码如下

private void Page_Load(object sender, System.EventArgs e)

{

Label1.Text=Session["name"].ToString();

Label2.Text=Session["email"].ToString();

Session.Remove("name");

Session.Remove("email");

}

赞助本站

人工智能实验室

相关热词: 传值 ASP

AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港