MVC3+Entity Framework 实现投票系统(二)

 上一节,我们将Models加入了实体对象模型(Entity Frmaework模型)接下来我们要完成控制层的代码编写:

1.在Controllers(控制器)目录点右建,添加一个控制器:

2.添加Home控制器:

3.添加Admin控制器:

4.创建完成后,在Controllers目录中会增加以下两个.cs文件:

5.HomeControllers.cs中的代码如下:

 
 
  1. public class HomeController : Controller 
  2.     // 
  3.     // GET: /Home/ 
  4.  
  5.     public ActionResult Index() 
  6.     { 
  7.  
  8.         Models.VoteEntities mv = new Models.VoteEntities();//创建实体对象 
  9.  
  10.         return View(mv.Users.ToList()); //将查询结果向视图层输出 
  11.     } 
  12.  

6.AdminControllers.cs中代码如下:

 

 
 
  1. public class AdminController : Controller 
  2.    { 
  3.        // 
  4.        // GET: /Admin/ 
  5.  
  6.        public ActionResult Index() 
  7.        { 
  8.            Models.VoteEntities mv = new Models.VoteEntities(); //创建数据实体 
  9.            List<Models.Users> list = mv.Users.ToList(); //得到users表中所有信息 
  10.            ViewModel.List = list; //将表中信息赋值给ViewModel.List,注意List为动态表达式,是自命名的。 
  11.  
  12.            return View(); 
  13.        } 
  14.  
  15.        // 
  16.        // GET: /Admin/Details/5 
  17.  
  18.        public ActionResult Details(int id) 
  19.        { 
  20.            return View(); 
  21.        } 
  22.  
  23.        // 
  24.        // GET: /Admin/Create 
  25.  
  26.        public ActionResult Create() 
  27.        { 
  28.            return View(); 
  29.        }  
  30.  
  31.        // 
  32.        // POST: /Admin/Create 
  33.  
  34.        [HttpPost] 
  35.        public ActionResult Create(Models.Users mu) 
  36.        { 
  37.            try 
  38.            { 
  39.                string picname = Path.GetFileName(Request.Files["up"].FileName);//得到文件的名字 
  40.                string filepath = Server.MapPath("/Content/") + picname; //得到要保存在服务器上的路径 
  41.                Request.Files["up"].SaveAs(filepath); 
  42.  
  43.                mu.UserPicPath = picname; //在数据加保存文件的相对路径(文件名称)就可以了 
  44.                Models.VoteEntities mv = new Models.VoteEntities(); 
  45.                mv.AddToUsers(mu); 
  46.                mv.SaveChanges(); 
  47.  
  48.                return RedirectToAction("Index"); 
  49.            } 
  50.            catch 
  51.            { 
  52.                return View(); 
  53.            } 
  54.        } 
  55.         
  56.        // 
  57.        // GET: /Admin/Edit/5 
  58.  
  59.        public ActionResult Edit(int id) 
  60.        { 
  61.            return View(); 
  62.        } 
  63.  
  64.        // 
  65.        // POST: /Admin/Edit/5 
  66.  
  67.        [HttpPost] 
  68.        public ActionResult Edit(int id, Models.Users mu) 
  69.        { 
  70.            try 
  71.            { 
  72.                Models.VoteEntities mv = new Models.VoteEntities(); 
  73.                mv.Users.Single(m => m.id == id).UserName = mu.UserName; //查询出指定用户名并更新为新用户 
  74.                mv.Users.Single(m => m.id == id).VoteCount = mu.VoteCount; //查询出指定票数并更新为新票数 
  75.                mv.SaveChanges(); //保存更改 
  76.                return RedirectToAction("Index"); 
  77.            } 
  78.            catch 
  79.            { 
  80.                return View(); 
  81.            } 
  82.        } 
  83.  
  84.        // 
  85.        // GET: /Admin/Delete/5 
  86.  
  87.        public ActionResult Delete(int id) 
  88.        { 
  89.            Models.VoteEntities mv = new Models.VoteEntities(); 
  90.            mv.DeleteObject(mv.Users.Single(m => m.id == id));//查询出指定ID的唯一值并执行删除操作 
  91.            mv.SaveChanges(); 
  92.            return RedirectToAction("Index"); 
  93.        } 
  94.  
  95.         
  96.        // POST: /Admin/Delete/5 
  97.  
  98.        [HttpPost] 
  99.        public ActionResult Delete(int id, FormCollection collection) 
  100.        { 
  101.            try 
  102.            { 
  103.               
  104.                return RedirectToAction("Index"); 
  105.            } 
  106.            catch 
  107.            { 
  108.                return View(); 
  109.            } 
  110.        } 
  111.    } 

以上为两个控制器类中的代码,下一节,我们为控制器添加指定的视图层界面。

未完待续......

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值