mvc+EF实现简单的登陆功能

EF采用DatabaseFirst的方式处理数据

image 

 

新建一个LoginController

[HttpGet]
        public ActionResult Login()
        {
            var UserName = Request.Cookies["UserName"] == null ? "" : Request.Cookies["UserName"].Value;
            ViewBag.UserName = UserName;
            return View();
        }

        public JsonResult CheckUserLogin(UserInfo userInfo)
        {
            using (EasyUIDemoDBEntities db = new EasyUIDemoDBEntities())
            {
                //linq查询
                var users = from p in db.UserInfo
                            where p.Name == userInfo.Name && p.Password == userInfo.Password && p.Enable == true
                            select p;
                if (users.Count() > 0)
                {
                    userInfo = users.FirstOrDefault();
                    return Json(new { result = "success", content = "" });
                }
                else
                {
                    return Json(new { result = "error", content = "用户名密码错误,请您检查" });
                }
            }
        }

view视图

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>Login</title>
    <script src="~/Scripts/jquery-1.7.1.min.js"></script>
     <script type="text/javascript">
        //异步实现用户的登录
        function LoginUserInfo() {
            $.ajax({
                url: "../Login/CheckUserLogin",
                type: "POST",
                dataType: "json",
                data: { "Name": $("#UserName").val(), "Password": $("#Password").val() },
                success: function (data) {
                    if (data.result == "success") {
                       
                        //window.location.href = "Home/GetView?viewPara=Index";
                        //window.location.href = "@Url.Content("/Home/Index/")";
                        alert('success');
                        //window.location.href = "/Home/Index";
                    }
                    else {
                        alert(data.content);
                        //window.location.href = "/Login/Login/";
                    }
                },
                error: function (xhr, error, ex) {
                    alert("erroraaaaa");
                    window.location.href = "/Login/Login/";
                }
            });
        }
    </script>
</head>
<body>
  <div id="AddUserDialog"  style="width: 300px; height: 160px; padding: 10px 20px" title="EasyUIDemo用户登录" >
        <form id="ff">
            <table id="tblAdd">
                <tr>
                    <td>
                        <label for="UserName">用户名:</label></td>
                    <td>
                        <input  type="text" id="UserName" name="UserName" value="@ViewBag.UserName" /></td>
                    <td>
                </tr>
                <tr>
                    <td>
                        <label for="Password">密  码:</label></td>
                    <td>
                        <input  type="text" id="Password" name="Password"  /></td>
                </tr>
                <tr>
                    <td colspan="2" style="text-align: center; padding-top: 10px">
                        <input type="button" value="提交" id="btnLogin" onclick="LoginUserInfo();"/>
                    </td>
                </tr>
            </table>
        </form>
    </div>
</body>
</html>

注意:在AJAX中提交地址如果在controller中不定义[httpget],则会访问第一个Loing的eAction

posted @ 2014-11-12 17:29  草旅虫  阅读(1619)  评论(2编辑  收藏  举报