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

来源:未知 责任编辑:责任编辑 发表时间:2013-08-22 04:53 点击:

 

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

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

\

2.添加Home控制器:

\

3.添加Admin控制器:

\

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

\

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


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

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. }

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

 

摘自 张剑的专栏

    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • 浅析.NET下XML数据访问新机制
    • asp.net 面试+笔试题目第1/2页
    • C# 邮件地址是否合法的验证
    • C#高级编程:数据库连接[1]
    • asp.net 设置GridView的选中行的实现代码
    • 经典C++程序1
    • IIS 自动回收导致后台定时器失效的问题解决
    • ASP.NET&#160;GridView列表代码示例
    • 微软ASP.NET站点部署指南(3):使用Web.Config文件的Transforma
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1