您好,欢迎来到爱go旅游网。
搜索
您的当前位置:首页[HTML]页面间传值的五种方法

[HTML]页面间传值的五种方法

来源:爱go旅游网
[HTML]页⾯间传值的五种⽅法

⼀、QueryString传值:

1. 这是最简单的传值⽅式,但缺点是传的值会显⽰在浏览器的地址栏中且不能传递对象,只适⽤于传递简单的且安全性要求不⾼的整数值,例如:

2. 新建⼀个WEB项⽬,添加⼀个页⾯命名为Test1,在页⾯中添加⼀个Button命名为btnLogin,再添加两个TextBox分别命名为txtUserName和txtPassWord,添加Button的Click()事件:

private void btnLogin_Click (object sender, System.EventArgs e){

string url=\" Test1.aspx?UserName=\" +txtUserName.Text + \"&Password=”+txtPassWord.Text+””;Response.Redirect(url);}

3. 添加另⼀个页⾯命名为Test2,在页⾯添加两个Lable分别命名为lblUserName和lblPassWord,添加页⾯的Load()事件:private void Page_Load (object sender, System.EventArgs e){

lblUserName.Text=Request.QueryString[\"UserName\"];lblPassWord.Text=Request.QueryString[\"Password\"];}

4. 把Test1设为起始页,运⾏项⽬在Test1页⾯的⽂本框中输⼊值后点击按钮,就可以在Test2页⾯中显Test1页⾯输⼊的结果。

⼆、Server.Transfer传值:

1. 这种⽅式避免了要传递的值显⽰在浏览器的地址栏中,但是⽐较⿇烦,例如:

2. 新建⼀个WEB项⽬,添加两个页⾯分别命名为Test1和Test2,在Test1页⾯中添加⼀个Button命名为btnLogin,再添加两个TextBox分别命名为txtUserName和txtPassWord,在Test2页⾯添加两个Lable分别命名为lblUserName和lblPassWord,为Test1添加过程返回txtUserName和txtPassWord的值并添加btnLogin的Click()事件:public string UserName{get{

return txtUserName.Text;}}

public string Password{get{

return txtPassWord.Text;}}

private void btnLogin_Click (object sender, System.EventArgs e){

Server.Transfer(\"Test2.aspx\");

}

3. 添加Test2页⾯的Load()事件:

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

Test1 t1; //创建原始窗体的实例

t1=( Test1)Context.Handler; //获得实例化的句柄lblUserName.Text= t1.UserName;lblPassWord.Text= t1.Password;}

4. 把Test1设为起始页,运⾏项⽬在Test1页⾯的⽂本框中输⼊值后点击按钮,就可以在Test2页⾯中显Test1页⾯输⼊的结果。

三、Cookie对象变量:

1. Cookie是针对每⼀个⽤户⽽⾔的,是存放在客户端的 ,Cookie的使⽤要配合ASP.NET内置对象Request来使⽤,例如:

2. 新建⼀个WEB项⽬,添加两个页⾯分别命名为Test1和Test2,在Test1页⾯中添加⼀个Button命名为btnLogin,再添加两个TextBox分别命名为txtUserName和txtPassWord,在Test2页⾯添加两个Lable分别命名为lblUserName和lblPassWord,为Test1添加Button的Click()事件:

private void btnLogin_Click (object sender, System.EventArgs e){

HttpCookie cookie_UserName = new HttpCookie(\"UserName\");HttpCookie cookie_PassWord = new HttpCookie(\"PassWord \");cookie_ UserName.Value = txtUserName.Text;cookie_ PassWord.Value = txtPassWord.Text;Response.AppendCookie(cookie_ UserName);Response.AppendCookie(cookie_ PassWord);Server.Transfer(\"Test2.aspx\");}

3. 添加Test2页⾯的Load()事件:

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

lblUserName.Text = Request.Cookies[\"UserName\"].Value.ToString();lblPassWord.Text = Request.Cookies[\"PassWord \"].Value.ToString();}

4. 把Test1设为起始页,运⾏项⽬在Test1页⾯的⽂本框中输⼊值后点击按钮,就可以在Test2页⾯中显Test1页⾯输⼊的结果。

四、Session对象变量:

1. Session也是针对每⼀个⽤户⽽⾔的,是存放在服务器端的 ,Session不仅可以把值传递到下⼀个页⾯,还可以交叉传递到多个页⾯,直⾄把Session变量的值removed 后,变量才会消失,例如:

2. 新建⼀个WEB项⽬,添加两个页⾯分别命名为Test1和Test2,在Test1页⾯中添加⼀个Button命名为btnLogin,再添加两个TextBox分别命名为txtUserName和txtPassWord,在Test2页⾯添加两个Lable分别命名为lblUserName和lblPassWord,为Test1添加Button的Click()事件:

private void btnLogin_Click (object sender, System.EventArgs e){

Session[\"UserName\"]=txtUserName.Text;Session[\"PassWord\"]=txtPassWord.Text;Response.Redirect(\"Test2.aspx\");}

3. 添加Test2页⾯的Load()事件:

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

lblUserName.Text=Session[\"UserName\"].ToString();lblPassWord.Text=Session[\"Password\"].ToString();Session.Remove(\"UserName\"); //清除SessionSession.Remove(\"PassWord\"); //清除Session}

4. 把Test1设为起始页,运⾏项⽬在Test1页⾯的⽂本框中输⼊值后点击按钮,就可以在Test2页⾯中显Test1页⾯输⼊的结果。

五、Application对象变量:

1. Application对象的作⽤范围是整个全局,也就是说对所有⽤户都有效。其常⽤的⽅法⽤Lock和UnLock,例如:

2. 新建⼀个WEB项⽬,添加两个页⾯分别命名为Test1和Test2,在Test1页⾯中添加⼀个Button命名为btnLogin,再添加两个TextBox分别命名为txtUserName和txtPassWord,在Test2页⾯添加两个Lable分别命名为lblUserName和lblPassWord,为Test1添加Button的Click()事件:

private void btnLogin_Click (object sender, System.EventArgs e){

Application[\"UserName\"] = txtUserName.Text;Application[\"PassWord \"] = txtPassWord.Text;Server.Transfer(\"Test2.aspx\");}

3. 添加Test2页⾯的Load()事件:

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

Application.Lock();

lblUserName. Text = Application[\"UserName\"].ToString();lblPassWord. Text = Application[\"PassWord \"].ToString();Application.UnLock();}

4. 把Test1设为起始页,运⾏项⽬在Test1页⾯的⽂本框中输⼊值后点击按钮,就可以在Test2页⾯中显Test1页⾯输⼊的结果。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- igat.cn 版权所有 赣ICP备2024042791号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务