📄 login.aspx.cs
字号:
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data.SqlClient;
public partial class login : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
//返回上一页
if (Request.UrlReferrer != null)
ViewState["UrlReferrer"] = Request.UrlReferrer.ToString();
}
}
protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
{
if (Session["UserName"] != null)
{
Page.ClientScript.RegisterStartupScript(this.GetType(), "MessageBox", "alert('已登陆')", true);
return;
}
String Username = username.Text;
String Password = password.Text;
String str = string.Format("select * from Users where UserName='{0}'and Password='{1}'", Username.Trim(), Password.Trim());
//读取数据库连接字符串
string settings = Convert.ToString(ConfigurationManager.ConnectionStrings["BookShopConnectionString"]);
//创建数据库连接对象
SqlConnection myconn = new SqlConnection(settings);
//打开数据库连接
myconn.Open();
//创建数据库命令
SqlCommand mycmd = new SqlCommand(str, myconn);
SqlDataReader mydr = mycmd.ExecuteReader();
if (mydr.Read())
{
Session["UserName"] = username.Text;
Session["UserID"] = mydr.GetInt32(0);
Boolean userright= mydr.GetBoolean(8);
Session["UserRight"] = userright;//mydr["UserRight"];
//如果有历史记录,则返回上一页,没有的话,直接登录到主页面/* && !ViewState["UrlReferrer"].ToString().Equals("http://localhost:1127/book/login.aspx")*/
//如果设置为login.aspx为起始页,不能正常登录,有错误,未解决!
//更夸张的是,如果设置为管理员主界面AdminMain.aspx,然后跳转到登录页面,如果登录普通用户,会出错,但是登录管理员,可以正常登录,神奇了!!!
if (Request.UrlReferrer != null && !userright)
{
if (!userright)
{
Session["Role"] = "普通用户";
}
else
{
Session["Role"] = "管理员";
}
Response.Redirect(ViewState["UrlReferrer"].ToString());//在这里出错,老提什么空,好像是类型或者结果不能正常转换
}
else
if (!userright)//普通用户跳转
{
Session["Role"] = "普通用户";
Response.Redirect("Default.aspx");
}
else
{//管理员跳转
Session["Role"] = "管理员";
Response.Redirect("AdminMain.aspx");
}
//登陆成功,应该还要修改数据库中内容
}
else
{
Page.ClientScript.RegisterStartupScript(this.GetType(), "MessageBox", "alert('用户名和密码错误')", true);
}
mydr.Close();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -