您的位置:首页 > 编程语言 > ASP

Asp.Net(C#)页面件传值小总结 fly_thinking

2007-11-27 13:37 281 查看

1.使用QeriyString传值


源页面代码:


string Url = "default.asp?sStrName=canshu&ID=UserID"


目标页面代码:


Lable1.Text=Request.QueryString["sStrName"];


Lable2.Text=Request.QueryString["ID"];    


同时传值两个参数分别是sStrName和ID,值是canshu和UserID.




2.用session页面传值


源页面代码:


session["stringName"]=TextBox1.Text


Server.Transfer("welcomePage.aspx");


接收页面代码:


Lable1.Text=session["stringName"].Tostring();


session.Remove("stringName");//移除session变量,减少服务器开销




3.使用Server.Transfer


public string Name




...{


    get




    ...{


        return TextBox1.Text;


    }


}




public string EMail




...{


    get




    ...{


        return TextBox2.Text;


    }


}


传值页面代码:


Server.Transfer("WelcomePage.aspx");


目标页面代码:


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




...{


    WebFormName wf1;  //WebForm1为源页面的名字


    //我们就可以使用Context.Handler属性来获得前一个页面实例对象


    wf1=(WebFormName)Context.Handler;//get reference to current handler instance




    Label1.Text=wf1.Name;


    Label2.Text=wf1.EMail;


}


一般比较提倡用session安全性高,如果页面需要传的变量很多的话可以用hashtable或者数组




保存数值然后存到session当中。


4.使用Cookie对象变量


Cookie的用法和Session的用法差不多,但是Cookie是存放在客户端的,而Session是存放再服




务器上的,适用Cookie时要用到Request内置对象。


源页面代码:


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




...{


    实例化一个Cookie对象


    HttpCookie cookie_name = new HttpCookie("name");


    cookie_name.Value = Label1.Text;


    Reponse.AppendCookie(cookie_name);


    Server.Transfer("WelcomePage.aspx");


}


目标页面代码:


private void Page_Load (object sender, EventArgs e)




...{


     string name;


     name = Request.Cookie["name"].Value.ToString();//得到Cookie值


}


5.全局变量


源页面代码:


Application["sum"]=this.TextBox1.Text;


Server,Transfer("WelcomePage.aspx");


目标页面代码:


this.Lable1.Text=(string)Application["sum"];


Application实质上是整个虚拟目录中所有文件的集合,如果想在整个应用范围内使用某个变量




值,Application对象将是最佳的选择。




6、其他方式    


在接收页 的html代码里加上一行: 


<%@ Reference Page = "WebForm1.aspx" %> 


WebForm1 fp=(WebForm1)Context.Handler;


this.TextBox1.Text=fp.name; //name 是第一页的public变量

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息