Default.aspx页面上有一个Button1。在Button1中定义一个变量并赋值—>int a =888;
我想要的效果是
当我点击Button1的时候,界面跳转到Default2.aspx。并且Default2.aspx上的label1的Text值显示888。希望高手指点,Default.aspx如何发值,Default2.aspx如何收值。最好能给出代码。
感激不尽!!
我想要的效果是
当我点击Button1的时候,界面跳转到Default2.aspx。并且Default2.aspx上的label1的Text值显示888。希望高手指点,Default.aspx如何发值,Default2.aspx如何收值。最好能给出代码。
感激不尽!!
Cookies可以 Session可以但不推荐
依我看
页面1
Response.Write("页面2.aspx?parm=" + i);
页面2
Request.QueryString("parm")就得了
Default.aspx中,Button1事件中Session["a"]=a;Default2.aspx。中Page_Load( object sender,e )
{
if(!IsPostBack)
{
if(Session["a"]!=null)
{
label1.Text=Session["a"].ToString();
}
}
}
.cs中:
protected void Button1_Click(object sender, EventArgs e)
{
int i = 888; Response.Redirect("Default2.aspx?value=" + i);
}
Default2.aspx中有Label1
.cs中
protected void Page_Load(object sender, EventArgs e)
{
Label1.Text = Request["value"].ToString();
}
2.Session =>可跨页面,一定程度上消耗服务器效能
3.Application => 全局的,一定程度上消耗服务器效能
,慎用,可跨页面,跨进程,跨电脑,IIS Restart才失效
4.Server.Transfer =>可跨页面
5.Cookie => 客户端的,客户端清楚或者禁用即消失,可跨页面,跨进程
6.保存到DB ==>跨页面,跨进程,跨电脑,跨任何你能访问到DB的地方
{
if(!IsPostBack)
{
if(Session["a"]!=null)
{
label1.Text=Session["a"].ToString();
}
}
}
{
if(!IsPostBack)
{
if(request.QueryString["a"]!=null)
{
label1.Text=reques.QueryString["a"]!.ToString();
}
}
}
postback
response.Redirect
post
Response.Redirect( "Default2.aspx?a=")Page_Load( object sender,e )
{
if(!IsPostBack)
{
label1.Text=Request.QueryString["a"]==null?"":Request.QueryString["a"].ToString();
}
}
session
Cookie
或者写个全局变量赋值
。有很多方法
session
cookie
Server.Transfer
PostBackurl
get
Application["name"] = Label1.Text;
Server.Transfer("b.aspx");private void Page_Load(object sender, EventArgs e)
{
string name;
Application.Lock();
name = Application["name"].ToString();
Application.UnLock();
}
public string Name
{
get{ return Label1.Text;}
}
private void Button1_Click(object sender, System.EventArgs e)
{
Server.Transfer("b.aspx");
}
private void Page_Load(object sender, EventArgs e)
{
a newWeb = (source)Context.Handler;
string name;
name = newWeb.Name;
}