ASP.NET之Session实现用户登录

ASP.NET之Session实现用户登录

首先创建三个Web窗体并分别命名为 CratWeb ShopCart UserLogin

1、在 CratWeb.aspx 中操作如下代码

<form id="form1" runat="server">
    <div>
        <asp:CheckBox ID="CheckBox1" runat="server" Text="瓜子" /> <br />
        <asp:CheckBox ID="CheckBox2" runat="server" Text="花生" /><br />
        <asp:CheckBox ID="CheckBox3" runat="server" Text="辣条" /><br />
        <asp:CheckBox ID="CheckBox4" runat="server" Text="天然狗粮,单身狗吃了毛色好" /><br />
        <asp:CheckBox ID="CheckBox5" runat="server" Text="水果" />&nbsp;<br />
        <asp:Button ID="btnAddTocart" runat="server" Text="将所选商品添加到购物车" OnClick="btnAddTocart_Click" Width="268px" />
        &nbsp;
        <asp:Button ID="btnShowcart" runat="server" Text="显示商品" OnClick="btnShowcart_Click" />
    
        &nbsp;<asp:Button ID="btnExit" runat="server" Text="退出登录 " OnClick="btnExit_Click"  />

        <br />
        <asp:Literal ID="ItaMsg" runat="server"></asp:Literal>

    </div>
    </form>

2、在 CratWeb.aspx.cs 中操作如下代码

 protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                List<string> cart = new List<string>();
                Session["cart"] = cart;
            }
            if (Session["CurrentUser"] !=null)
            {
                this.ItaMsg.Text = "终于等到你 ❤ : "+Session["CurrentUser"].ToString();
            }
            else
            {
                this.ItaMsg.Text = "请您先登录";
            }
        }

        protected void btnShowcart_Click(object sender, EventArgs e)
        {
            //首先判断用户是否登录
            if (Session["CurrentUser"] == null)
            {
                Response.Redirect("UserLogin.aspx");
            }
            //重定向
            Response.Redirect("ShopCart.aspx");
        }

        protected void btnAddTocart_Click(object sender, EventArgs e)
        {
            if (Session["CurrentUser"] == null)
            {
                Response.Redirect("UserLogin.aspx");
            }
            else
            {
                foreach (Control item in form1.Controls)
                {
                    if (item is CheckBox)
                    {
                        CheckBox ckb = (CheckBox)item;
                        if (ckb.Checked)
                        {
                            // Session["cart"] 为object 类型 所以得转换成list
                            ((List<string>)Session["cart"]).Add(ckb.Text);
                        }
                    }
                }
            }
           
            this.btnAddTocart.Text = "添加成功";
        }

        protected void btnExit_Click(object sender, EventArgs e)
        {
            Session.Abandon();//清除Session
            this.ItaMsg.Text = "您还没有登录哟";
        }
    }

3、在 ShopCart.aspx.cs 中操作如下代码

 protected void Page_Load(object sender, EventArgs e)
        {
            //取出对象集合,遍历后显示
            List<string> cart = (List<string>)Session["cart"];
            string info = string.Empty;
            foreach (string item in cart)
            {
                info += item + " ";
            }
            Response.Write("您选得商品为:" + info + "<br/>");
        }

4、在 UserLogin.aspx中操作如下代码

<form id="form1" runat="server">
    <div>
    <table>
            <tr>
                <th colspan="2">
                    用户登录
                </th>
            </tr>
            <tr>
                <td>
                    用户名:
                </td>
                <td>
                    <asp:TextBox ID="txtUserName" runat="server" Width="150px"></asp:TextBox>
                </td>
            </tr>
            <tr>
                <td>
                    密&nbsp; 码:
                </td>
                <td>
                    <asp:TextBox ID="txtPwd" runat="server" TextMode="Password" Width="150px"></asp:TextBox>
                </td>
            </tr>
            <tr>
                <td colspan="2" align="right">
                    <asp:Literal ID="lInfo" runat="server"></asp:Literal>
                    &nbsp;<asp:Button ID="btnLogin" runat="server" Text="登录" OnClick="btnLogin_Click" />
                </td>
            </tr>
        </table>
    </div>
    </form>

5、在 UserLogin.aspx.cs 中操作如下代码

 protected void Page_Load(object sender, EventArgs e)
        {

        }
        protected void btnLogin_Click(object sender, EventArgs e)
        {
            //验证信息

            //查询用户信息,验证用户名和密码是否正确
            if (this.txtUserName.Text.Trim() == "admin" && this.txtPwd.Text.Trim() == "12345")
            {
                //保存用户登录信息
                Session["CurrentUser"] = this.txtUserName.Text.Trim();
                //登录成功后跳转到首页
                Response.Redirect("CradWeb.aspx");
            }
            else
            {
                this.lInfo.Text = "用户名或密码错误!";
            }
        }

6、将在 CratWeb.aspx 设置为起始页

效果图如下:
在这里插入图片描述
点击单选框进行商品选择会跳转到登录页面
在这里插入图片描述
登录成功之后 ,再次跳转到 CratWeb.aspx
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
有所不足,请大家指正,谢谢大家了。

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页