10.12总结

public  class  UserInfoDAL{
     public static UserInfo Select(string name,string pwd){
//构建查询语句,不能用like模糊查询
var sql=$"select * from UserInfo where name='{name}' and pwd='{pwd}' ";
var  table=SqlHelper.Query(sql);
//如果没有数据,返回null
if(table==null || table.Rows.Count<1){
return  null;
}
//如果有数据,取第一行,转换为对象
var row=table.Rows[0];
UserInfo user =new UserInfo(){
Id=Convert.ToInt32(row["Id"]),
Name=Convert.ToString(row["Name"]),
Role=Convert.ToInt32(row["Role"]),
};
return user;
}
}

在DAL中定义一个方法,然后返回到UserInfo表中,根据名字和密码进行传值,先写出查询语句,然后进行是否有数据的判断,当判断出有数据时,将数据转换成对象

public class UserInfoBLL
    {
        public static UserInfo Select(string name, string pwd)
        {
            return UserInfoDAL.Select(name, pwd);
        }
    }

在BLL中调用DAL中的方法,将参数传递过去

<form id="form1" runat="server">
       <dl>
           <dd>账号</dd>
           <dt>
               <asp:TextBox ID="txtName" runat="server"></asp:TextBox></dt>
       </dl>
       <dl>
           <dd>密码</dd>
           <dt>
               <asp:TextBox ID="txtPwd" runat="server" TextMode="Password"></asp:TextBox></dt>
       </dl>
       <dl>
           <dd></dd>
           <dt>
               <asp:Button ID="btnLogin" runat="server" Text="登录" OnClick="btnLogin_Click" />
           </dt>
       </dl>
    </form>

用dl 和dd,dt 做出简易的登录页面,用dl dd和dt的好处是没有太深的嵌套,保证了代码的灵活性

protected void btnLogin_Click(object sender, EventArgs e)
        {
            var user = UserInfoBLL.Select(txtName.Text, txtPwd.Text);
            if (user == null)
            {
                Response.Write("<script>alert('账号或密码不正确')</script>");
            }
            else if (user.Role == 0)
            {
                //用户
               Response.Redirect("user.aspx");
            }
            else if (user.Role == 1)
            {
                //管理员
                Response.Redirect("admin.aspx");
            }
        }

当点击登录页面时实现登录,先判断是否为空,当不为空时根据角色的不同跳转到不同的页面,实现根据角色的不同进行不同的登录。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值