首 页IT知识库翔宇问吧收藏本站
当前位置:翔宇亭IT乐园IT知识库WEBASP.NET

ASP.NET中使用Session变量实现多页面传值

减小字体 增大字体 作者:本站  来源:本站原创  发布时间:2012-09-08 13:37:29

上一篇文章当中,介绍了使用带参数的URL实现页面间传值的方式,但使用URL进行页面间传值,所传值的页面数量受限,一般情况只能实现两个页面间传值,如果想在多个页面间传值的话,带参数的URL有些力不从心了,而Session变量可以实现多个页面间传值,为我们提供了很多方面,下面将进行详细的介绍。

ASP.NET中使用Session变量在多个页面间传值的步骤:

(1)在源页面中定义Session变量,将需要传递的值放入Session变量中,定义Session变量很简单,语法格式如下:

Session["变量名称"] = 要传递的值;

(2)在目标网页中获取所传递的值,语法格式如下:

要接收值的变量或控件 = Session["变量名称"];

下面使用一个例子来说明具体使用方法:

在源页面中定义Session变量,可以在相应的事件处理程序中,或在信息处理完后,需要在多个页面共享信息的页面中保存值时,都可以使用Session变量,这里假设将TextBox中的值传递到其它页面中:

源页面代码(这里假定为按钮的Click事件,SecondPage.aspx为目标网页):

private void Button1_Click (object sender, System.EventArgs e)
{
        Session["userName"] = TextBox1.Text.Trim( ) ; //获取用户名
        Session["userAge"] = TextBox2.Text.Trim( );     //获取用户年龄
        Server.Transfer("SecondPage.aspx");         //使用Server.Transfer方法跳转到目标页
}

在目标页面中可以获取Session变量中保存的值:
private void Page_Load(object sender, System.EventArgs e)
{
        Label1.Text=Session["name"].ToString();
        Label2.Text=Session["email"].ToString();
}

上面的例子使用Server.Transfer跳转到目标页,并在目标页中获取值,实际上只要保存到了Session中,可以在多个页面中读取Session中的值,如在登录处理程序中,当用户登录成功后,可以使用Session变量保存用户登录的用户名和其它相关信息,而在其它需要登录后才能操作的页面中可以先判断一下Session变量对应的值是否为null,如果为null则用户未登录,就可以将页面跳转到登录页面,否则,可以认为用户已经登录并保存了Session,用户就可以进行该页面中的其它操作。

滥用Session变量,会消耗较多的服务器资源,因此如果不是在多个页面中共享值的话,最好不使用Session变量。同时,Session变量有自己的生存期,如果用户未进行任何操作的话,网页保存的Session变量在生存期结束时,将自动失效。

知识评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论

用户名: 查看更多评论

分 值:100分 90分 80分 70分 60分 40分 20分

内 容:

请注意用语文明且合法,不要发布带有攻击性、侮辱性的言论,谢谢合作!

验证码:

关于本站 | 网站帮助 | 广告合作 | 网站声明 | 友情连接 | 网站地图 | 用户守则 | 联系我们
本站部分内容来自互联网,如有侵权,请来信告之,谢谢!
Copyright © 2007-2019 biye5u.com. All Rights Reserved.
网站备案号:黑ICP备13005378号-3