zoukankan      html  css  js  c++  java
  • 学习MVC第二个实例登录代码(Model数据验证)

    1:Model层代码:

    namespace MvcApplication5.Models
    {
        public class UserInfo
        {
            /* 用户信息实体 */
            public string LoginName { get; set; }   //登录名
            public string Password { get; set; }    //密码
            public string Username { get; set; }    //姓名
        }

        public class UserManager     //这边就是相当我们普通三层的BLL 跟DAL
        {
            /* 用户业务实体 */

            /// <summary>
            /// 验证登录名和密码
            /// </summary>
            public static bool Validate(string loginName, string password)
            {
                //这里模拟一下用户验证,实际项目中需要读取数据库用户信息进行验证
                return "zhang" == loginName && "123" == password;
            }

            /// <summary>
            /// 根据登录名获取用户信息
            /// </summary>
            public static UserInfo GetUserByLoginName(string loginName)
            {
                //这里模拟一下数据库查询
                return new UserInfo()
                {
                    LoginName = "zhang",
                    Password = "123",
                    Username = "张学良"
                };
            }
        }
    }

    2:控制器的代码:

            public ActionResult Login()
            {
                string loginName = Request.Form["loginName"];
                string password = Request.Form["password"];
                if (Models.UserManager.Validate(loginName, password))
                {
                    Session["CurrentUser"] = Models.UserManager.GetUserByLoginName(loginName);   //调用的方法
                    return Redirect("/Account/Success");
                }
                ViewData["LoginName"] = loginName;   //这边这样写是为的在输入错误时可以把用户名保存下来省得再输入用户名
                ViewData["ReturnMessage"] = "用户名或者密码不正确";
                return View("Index");
            }

    3:视图代码:

      登录代码:

     <table border="0" cellpadding="0" cellspacing="0" width="1000" height="768">
            <tr>
                <td align="center" valign="middle" class="td">
                    <br />
                    <% using (Html.BeginForm("Login", "Account"))              { %>
                    <table cellpadding="5" border="0" cellspacing="5" width="260">
                        <tr>
                            <td>用户名:</td>
                            <td><%= Html.TextBox("loginName", ViewData["LoginName"])%></td>
                        </tr>
                        <tr>
                            <td>密 码:</td>
                            <td><%= Html.Password("password")%></td>
                        </tr>
                        <tr>
                            <td>             </td>
                            <td><input value="Submit" type="submit" /><br /> <br />  <%= ViewData["ReturnMessage"]%>
                            </td>
                        </tr>
                    </table>
                    <% }//Html.EndForm(); %>
                </td>
            </tr>
        </table>

    成功后的代码:

        <div>
        <% MvcApplication5.Models.UserInfo currentUser =
               Session["CurrentUser"] as MvcApplication5.Models.UserInfo; %>
        你好,欢迎你:<%= currentUser.Username %>
        你的登录名称是:<%= currentUser.LoginName %>   
        </div>

  • 相关阅读:
    C++雾中风景14:CRTP, 模板的黑魔法
    ClickHouse源码笔记1:聚合函数的实现
    C++雾中风景番外篇4:GCC升级二三事
    C++雾中风景13:volatile解惑
    AeroSpike踩坑手记1:Architecture of a Real Time Operational DBMS论文导读
    Linux 程序设计1:深入浅出 Linux 共享内存
    C++雾中风景番外篇3:GDB与Valgrind ,调试代码内存的工具
    C++雾中风景番外篇2:Gtest 与 Gmock,聊聊C++的单元测试
    C++雾中风景12:聊聊C++中的Mutex,以及拯救生产力的Boost
    用TensorFlow搭建一个万能的神经网络框架(持续更新)
  • 原文地址:https://www.cnblogs.com/wujy/p/2336315.html
Copyright © 2011-2022 走看看