使用Session对象在页面之间传值
使用Session对象可以在页面之间传值,但是需要注意的是不能在Session对象中存储过多的数据,否则服务器会不堪重负,另外当不再需要seesion对象时,应及时释放该对象。
例如,使用Session对象来传送用户的登录名,在另一页中,将用户的登录名显示出来。
使用Session对象保存用户登录名的代码如下:
Session.Remove("UserName");
Session["UserName"] = txtName.Text; Response.Redirect("NavigatePage.aspx"); |
在NavigatePage.aspx页面中,将Session对象的值显示在界面上,其代码如下:
if (Session["UserName"] == null)
{ Response.Redirect("Default.aspx"); } else { Label1.Text =Session["UserName"].ToString(); } |
使用Session验证用户登录
在ASP.NET中,利用Session对象验证用户是否登录的方法很简单,例如在本实例中,当用户安全登录时,可以利用如下代码保存用户的登录名,并跳转到NavigatePage.aspx中。
if (txtName.Text == "mr" && txtPassword.Text == "mrsoft")
{ Session["UserName"] = txtName.Text.Trim(); Response.Redirect("NavigatePage.aspx"); } |
在NavigatePage.aspx页面中,当页面加载时,首先判断Session对象中是否有值,如果有值,则进行其他操作;否则,则返回到登录页中。其主要代码如下:
if (Session["UserName"] == null)
Response.Redirect("Default.aspx"); else { //其他操作 } |
注意:Session对象默认失效期为20分钟,用户也可以在Web.Config中对其进行设置,其代码如下:
<system.web>
<sessionState timeout="40" /> </system.web> |