基本信息
源码名称:ASP.NET MVC MVC CodeFrist
源码大小:53.35M
文件格式:.rar
开发语言:C#
更新时间:2019-10-28
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):78630559

本次赞助数额为: 2 元 
   源码介绍

讲述ASP.NET MVC CodeFrist方式生成数据库


using BookManager.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Security;

namespace BookManager.Controllers
{
    public class UserController : Controller
    {
        BookManagerEntities db = new BookManagerEntities();
        // GET: User
        public ActionResult Index()
        {
           var users = db.Users.Include("Roles").ToList();
            //foreach (var user in users)
            //{
            //    user.Roles = db.Roles.Single(s => s.RoleID == user.RoleID);
            //}
            return View(db.Users.ToList());
        }

        [HttpGet]
        public ActionResult CreateUser()
        {
            ViewBag.RoleID = new SelectList(db.Roles.ToList(), "RoleID", "RoleName");

            ViewBag.Sex = new SelectList(new List<string>() { "男", "女", "其他" });
            return View();
        }


        [HttpPost]
        public ActionResult CreateUser(User user)
        {
            if (ModelState.IsValid)
            {
                user.RoleID = 1;
                db.Users.Add(user);
                db.SaveChanges();
                return Content("<script>alert('保存成功!');</script>");
            }
            else
            {
                foreach (var key in ModelState.Keys)
                {
                    var modelstate = ModelState[key];
                    if (modelstate.Errors.Any())
                    {
                        ModelState.AddModelError("", modelstate.Errors.FirstOrDefault().ErrorMessage);
                        return View();
                    }
                }
                ModelState.AddModelError("", "用户信息不完整。");
                return View();
            }
        }

        public ActionResult Edit(int id)
        {
            ViewBag.RoleID = new SelectList(db.Roles.ToList(), "RoleID", "RoleName");
            ViewBag.Sex = new SelectList(new List<string>() { "男", "女", "其他" });
            User user = db.Users.Where(a => a.UserId.Equals(id)).First();
            ViewData.Model = user; //用这种方式也可以
            return View();
        }

        [HttpPost]
        public ActionResult Edit(User user)
        {
            if (ModelState.IsValid)
            {
                db.Users.Attach(user);
                db.Entry<User>(user).State = System.Data.Entity.EntityState.Modified;
                db.SaveChanges();
                return RedirectToAction("Index");
            }
            else
            {
                ModelState.AddModelError("", "请输入正确信息。");
                return View();
            }
        }

        public ActionResult Details(int id)
        {
            User user = db.Users.Where(a => a.UserId.Equals(id)).First();
            user.Roles = db.Roles.Where(s=>s.RoleID==user.RoleID).First();
            return View(user);
        }

        public ActionResult Delete(int id)
        {
            User user = db.Users.Where(a => a.UserId.Equals(id)).First();
            db.Users.Remove(user);
            db.SaveChanges();
            return RedirectToAction("Index");
        }

        public ActionResult Login()
        {
            return View();
        }

        [HttpPost]
        public ActionResult Login(User user)
        {
            if (!ModelState.IsValid)
            {
                return View(user);
            }
            var result = db.Users.ToList();
            var userList = result.Where(s => s.UserName.Contains(user.UserName) 
               && s.PassWord.Contains(user.PassWord));

            if (userList.Count() == 0)
            {
                ModelState.AddModelError("", "用户名或密码错误。");
                return View(user);
            }
            user = userList.First() as User;
            user.Roles = db.Roles.Find(user.RoleID);
            FormsAuthentication.SetAuthCookie(user.UserName, true);
            FormsAuthenticationTicket authTicket = new FormsAuthenticationTicket(
                1,
                user.UserName,
                DateTime.Now,
                DateTime.Now.AddMinutes(1000),
                false,
                user.Roles.RoleName
                );
            string encryptedTicket = FormsAuthentication.Encrypt(authTicket);
            System.Web.HttpCookie authCookie = new System.Web.HttpCookie(FormsAuthentication.FormsCookieName, encryptedTicket);
            System.Web.HttpContext.Current.Response.Cookies.Add(authCookie);
            Session["UserName"] = user.UserName;
            Session["RoleName"] = user.Roles.RoleName;
            Session["UserID"] = userList.First().UserId;
            // return RedirectToAction("Index", "Home");第一种方式:登录成功后进入首页
            //第二种方式:先弹出操作成功提示框,在进入首页
            return Content("<script>alert('操作成功!');window.open('"   Url.Content("~/home/index") 
                  "', '_self')</script>"); 
        }

        public ActionResult LogOff()
        {
            FormsAuthentication.SignOut();
            FormsAuthentication.RedirectToLoginPage();
            return View("Login");
        }

        public ActionResult LoginTest()
        {
            return View();
        }

        public ActionResult LoginMethod(string UserName,string Password)
        {
            var result = db.Users.Include("Roles").ToList();
            var userList = result.Where(s => s.UserName.Equals(UserName)
             && s.PassWord.Contains(Password));

            if (userList.Count() == 0)
            {
                ModelState.AddModelError("", "用户名或密码错误。");
                return View();
            }
            return Content("<script>alert('操作成功!');window.open('"   Url.Content("~/home/index")
                    "')</script>");
        }

        public ActionResult SearchMethod(string UserName)
        {
            var userList =db.Users.Include("Roles").Where(s => s.UserName.Equals(UserName));

            return View("Index",userList);
        }
    }
}