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="水果" /> <br />
- <asp:Button ID="btnAddTocart" runat="server" Text="将所选商品添加到购物车" OnClick="btnAddTocart_Click" Width="268px" />
-
- <asp:Button ID="btnShowcart" runat="server" Text="显示商品" OnClick="btnShowcart_Click" />
-
- <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>
- 密 码:
- </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>
- <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 有所不足,请大家指正,谢谢大家了。 来源:https://blog.csdn.net/weixin_43550660/article/details/97621498 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |