QueryString传值:
1. 这是最简单的传值方式,但缺点是传的值会显示在浏览器的地址栏中且不能传递对象,只适用于传递简单的且安全性要求不高的整数值,例如:
2. 新建一个WEB项目,添加一个页面命名为Test1,在页面中添加一个Button命名为btnLogin,再添加两个TextBox分别命名为tbxUserName和tbxPassWord,添加Buttond的Click()事件:
private void btnLogin_Click (object sender, System.EventArgs e)
{
string url=" Test1.aspx?UserName=" +tbxUserName.Text + "&Password=”+tbxPassWord.Text+””;
Response.Redirect(url);
}
3. 添加另一个页面命名为Test2,在页面添加两个Lable分别命名为labUserName和labPassWord,添加页面的Load()事件:
private void Page_Load (object sender, System.EventArgs e)
{
labUserName.Text=Request.QueryString["UserName"];
labPassWord.Text=Request.QueryString["Password"];
}
4. 把Test1设为起始页,运行项目在Test1页面的文本框中输入值后点击按钮,就可以在Test2页面中显Test1页面输入的结果。
Server.Transfer传值:
1. 这种方式避免了要传递的值显示在浏览器的地址栏中,但是比较麻烦,例如:
2. 新建一个WEB项目,添加两个页面分别命名为Test1和Test2,在Test1页面中添加一个Button命名为btnLogin,再添加两个TextBox分别命名为tbxUserName和tbxPassWord,在Test2页面添加两个Lable分别命名为labUserName和labPassWord,为Test1添加过程返回tbxUserName和tbxPassWord的值并添加btnLogin的Click()事件:
public string UserName
{
get
{
return tbxUserName.Text;
}
}
public string Password
{
get
{
return tbxPassWord.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; //获得实例化的句柄
labUserName.Text= t1.UserName;
labPassWord.Text= t1.Password;
}
4. 把Test1设为起始页,运行项目在Test1页面的文本框中输入值后点击按钮,就可以在Test2页面中显Test1页面输入的结果。
Cookie对象变量:
1. Cookie是针对每一个用户而言的,是存放在客户端的 ,Cookie的使用要配合ASP.NET内置对象Request来使用,例如:
2. 新建一个WEB项目,添加两个页面分别命名为Test1和Test2,在Test1页面中添加一个Button命名为btnLogin,再添加两个TextBox分别命名为tbxUserName和tbxPassWord,在Test2页面添加两个Lable分别命名为labUserName和labPassWord,为Test1添加Buttond的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 = tbxUserName.Text;
cookie_ PassWord.Value = tbxPassWord.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)
{
labUserName.Text = Request.Cookies["UserName"].Value.ToString();
labPassWord.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分别命名为tbxUserName和tbxPassWord,在Test2页面添加两个Lable分别命名为labUserName和labPassWord,为Test1添加Buttond的Click()事件:
private void btnLogin_Click (object sender, System.EventArgs e)
{
Session["UserName"]=tbxUserName.Text;
Session["PassWord"]=tbxPassWord.Text;
Response.Redirect("Test2.aspx");
}
3. 添加Test2页面的Load()事件:
private void Page_Load (object sender, System.EventArgs e)
{
labUserName.Text=Session["UserName"].ToString();
labPassWord.Text=Session["Password"].ToString();
Session.Remove("UserName"); //清除Session
Session.Remove("PassWord"); //清除Session
}
4. 把Test1设为起始页,运行项目在Test1页面的文本框中输入值后点击按钮,就可以在Test2页面中显Test1页面输入的结果。
Application对象变量:
1. Application对象的作用范围是整个全局,也就是说对所有用户都有效。其常用的方法用Lock和UnLock,例如:
2. 新建一个WEB项目,添加两个页面分别命名为Test1和Test2,在Test1页面中添加一个Button命名为btnLogin,再添加两个TextBox分别命名为tbxUserName和tbxPassWord,在Test2页面添加两个Lable分别命名为labUserName和labPassWord,为Test1添加Buttond的Click()事件:
private void btnLogin_Click (object sender, System.EventArgs e)
{
Application["UserName"] = tbxUserName.Text;
Application["PassWord "] = tbxPassWord.Text;
Server.Transfer("Test2.aspx");
}
3. 添加Test2页面的Load()事件:
private void Page_Load (object sender, System.EventArgs e)
{
Application.Lock();
labUserName. Text = Application["UserName"].ToString();
labPassWord. Text = Application["PassWord "].ToString();
Application.UnLock();
}
4. 把Test1设为起始页,运行项目在Test1页面的文本框中输入值后点击按钮,就可以在Test2页面中显Test1页面输入的结果。
分享到:
相关推荐
ASP.NET 页面间传值的几种方法 ASP.NET 页面间传值的几种方法 ASP.NET 页面间传值的几种方法 ASP.NET 页面间传值的几种方法 ASP.NET 页面间传值的几种方法
ASP.NET中页面传值的几种方法:是每一个初学者都应了解的。
自己找的 ASP.NET中页面传值的几种方法收藏ASP.NET中页面传值的几种方法收藏
ASP.NET页面间的传值的几种方法(总结)
Response.Redirect、QueryString、Session变量三种方法实现页面参数的传递和页面跳转。
C#窗体间的六种传值方式,通过六过实例,实现了C#窗体间的六种传值方式,三种回传,三种直传,通过属性,构造函数,与事件实现窗体间的传值;还有一个例子是页面间的几种传值方式(c#,.net,asp.net,winFORM)
本篇文章主要介绍了ASP.NET 页面之间传值的几种方式,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
目前在ASP.NET中页面传值共有这么几种方式,需要的朋友可以参考下。
ASP.NET的几种页面传值方法(使用QueryString变量 2. 使用Application 对象变量 3. 使用Session变量 4. 使用Cookie对象变量 ....)
ASP.NET WEB FORMS 给开发者提供了极好的事件驱动开发模式。然而这种简单的应用程序开发模式却给我们带来了一些小问题
ASP.NET页面之间传递值的各种表示方法
介绍了ASP.NET实现页面传值的几种方法,有需要的朋友可以参考一下
这个例子程序总结了ASP.Net的几种传值方式:URL,Application,Cookie,Server.Tranfer,Session
本题考查面试者对ASP.NET中多页面传值的理解是否全面。因为ASP.NET的页面表单提交到自身,完成回传的功能,所以默认情况下不能使用POST方式进行多页面传值。关于这些传值方式的分析如下所示。1.URL传值这是经典的...
页面之间传值的几种方式 这是ASP.NET中让人很迷茫的一部分现在总结一下 希望对大家有帮助
常用于2个页面间传递数据。用法:例如:url后加?UserID=…,跳转到目标页面,目标页面在伺服端可用Request.QueryString[“InputText”]获取其指定参数值。 2. Post方式:通用的方式。利用form提交。特点:最常用的...