1.使用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"); } |
注意:Session对象默认失效期为20分钟,用户也可以在Web.Config中对其进行设置,其代码如下:
<system.web> <sessionState timeout="40" /> </system.web> |
2.使用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(); } |