asp.net页面间传值的几种方法

 

表单提交

传送页面代码

复制代码
<html xmlns="http://www.w3.org/1999/xhtml" >

<head runat="server">

<title>表单提交</title>

<script type="text/javascript" language="javascript">

function post()

{

forPost.action="DestinationPage.aspx";

forPost.submit();

}

</script>

</head>

<body>

<form id="forPost" method="post">

方式一:表单提交<br />

<input type="text" id="SourceData2" runat="server"/>

<input type="button" id="btnTransfer1" value="提交" onclick="post();" />

</form>

</body>

</html>
复制代码


接收页面代码

复制代码
protected void Page_Load(object sender, EventArgs e)

{

string a = Request.Form["SourceData2"].ToString();

txt1.Value = a;

}
复制代码

QueryString传值

传送页面代码

复制代码
<html xmlns="http://www.w3.org/1999/xhtml" >

<head runat="server">

<title>QueryString</title>

</head>

<body>

<form id="form1" runat="server">

<div>

<input type="text" id="txt1" runat="server" />

<input type="text" id="txt2" runat="server" />

<input type="button" id="btn1" value="提交" runat="server" onserverclick="btn1_ServerClick" />

</div>

</form>

</body>

</html>
复制代码

 

复制代码
    protected void btn1_ServerClick(object sender, EventArgs e)

{

string aa = txt1.Value;

string bb = txt2.Value;

string url = "DestinationPage5.aspx?parameter1=" + aa + "&parameter2=" + bb;

Response.Redirect(url, false);

}
复制代码

接收页面代码

复制代码
protected void Page_Load(object sender, EventArgs e)

{

txt1.Value = Request.QueryString["parameter1"].ToString();

txt2.Value = Request.QueryString["parameter2"].ToString();

}
复制代码

链接地址传值

传送页面代码

<a href="DestinationPage6.aspx?param1=1111&param2=2222">跳转</a>

接收页面代码

复制代码
protected void Page_Load(object sender, EventArgs e)

{

txt1.Value = Request["param1"];

txt2.Value = Request["param2"];

}
复制代码

Context传值

通过Context传值,在传送页面之前,将需要传递到其他页面的值存在Context中。

传送页面代码

复制代码
<html xmlns="http://www.w3.org/1999/xhtml" >

<head runat="server">

<title>Context</title>

</head>

<body>

<form id="form1" runat="server">

<div>

<input type="text" id="txt1" runat="server" />

<input type="button" id="btn1" value="提交" runat="server" onserverclick="btn1_ServerClick" />

</div>

</form>

</body>

</html>
复制代码

 

复制代码
protected void btn1_ServerClick(object sender, EventArgs e)

{

Context.Items["value"] = txt1.Value;

Server.Transfer("DestinationPage3.aspx");

}
复制代码

 

接收页面代码

复制代码
protected void Page_Load(object sender, EventArgs e)

{

string a = Context.Items["value"].ToString();

txt1.Value = a;

}
复制代码



Server.Transfer传值

传送页面代码

复制代码
<html xmlns="http://www.w3.org/1999/xhtml" >

<head runat="server">

<title>Server.Transfer</title>

</head>

<body>

<form id="form1" runat="server">

<div>

<input type="text" id="txt1" runat="server" />

<input type="button" id="btn1" value="提交" runat="server" onserverclick="btn1_ServerClick" />

</div>

</form>

</body>

</html>
复制代码

 

View Code

 

接收页面代码

View Code

Cookie传值

传送页面代码

View Code

 

接收页面代码   

View Code

 

Session传值

通过Session取值,在一个页面中赋值,在其他页面中共享。为避免造成Session值的混乱无序,应尽量少用Session传非公共的变量。Session比较适合用来保存一些公共变量。

传送页面代码

View Code

 

接收页面代码

View Code


Application传值

此种方法不常使用,因为Application在一个应用程序域范围共享,所有用户可以改变及设置其值,故只应用于计数器等需要全局变量的地方。

传送页面代码

复制代码
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Application</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<input type="text" id="txt1" runat="server" />
<input type="button" id="btn1" value="提交" runat="server" onserverclick="btn1_ServerClick" />
</div>
</form>
</body>
</html>

protected void btn1_ServerClick(object sender, EventArgs e)
{
string aa = txt1.Value;
Application["param1"] = aa;
string url = "DestinationPage7.aspx";
Response.Redirect(url, false);
}
复制代码

接收页面代码

View Code
原文地址:https://www.cnblogs.com/joean/p/4716581.html