1:创建MVC项目

2:添加EF数据(这里选择DataBaseFirst模式)

3:添加控制器

3.1.1 创建列表页面

3.1.2 html页面

@using MvcApplication1
@{ViewBag.Title = "Index";
}<div><table><tr><th>编号</th><th>用户名</th><th>密码</th><th>详情</th></tr>@{foreach (var item in (IQueryable<TB_User>)ViewData["UserInfoList"]){<tr><td>@item.UserID</td><td>@item.UserName</td><td>@item.Password</td><td><a href="/UserInfo/ShowDetail?id=@item.UserID">详情</a></td></tr>}   }</table>
</div>

View Code

3.2.1 详情页面

3.2.2 html页面

@using MvcApplication1
@{ViewBag.Title = "ShowDetail";
}<h2>ShowDetail</h2>
<div>@{TB_User item = (TB_User)ViewData["UserInfo"];<table><tr><td>用户ID         </td> <td>@item.UserID            </td></tr><tr><td>用户的登录ID   </td> <td>@item.UserLoginID       </td></tr><tr><td>密码           </td> <td>@item.Password          </td></tr><tr><td>用户代码       </td> <td>@item.UserCode          </td></tr><tr><td>用户名称       </td> <td>@item.UserName          </td></tr><tr><td>用户类型       </td> <td>@item.UserType          </td></tr><tr><td>电子邮件       </td> <td>@item.Email             </td></tr><tr><td>移动电话       </td> <td>@item.MobilePhone       </td></tr><tr><td>商务电话       </td> <td>@item.BusinessTelephone </td></tr><tr><td>出生日期       </td> <td>@item.BirthDay          </td></tr><tr><td>性别           </td> <td>@item.Gender            </td></tr><tr><td>国籍           </td> <td>@item.Nationality       </td></tr><tr><td>籍贯           </td> <td>@item.NativePlace       </td></tr><tr><td>纸张类型       </td> <td>@item.PaperType         </td></tr><tr><td>论文数         </td> <td>@item.PaperNumber       </td></tr><tr><td>加入日期       </td> <td>@item.JoinDate          </td></tr><tr><td>离开日期       </td> <td>@item.LeaveDate         </td></tr><tr><td>教育类         </td> <td>@item.Education         </td></tr><tr><td>婚姻状况       </td> <td>@item.MaritalStatus     </td></tr><tr><td>银行           </td> <td>@item.Bank              </td></tr><tr><td>银行账户       </td> <td>@item.BankAccount       </td></tr><tr><td>现状           </td> <td>@item.Status            </td></tr><tr><td>造物主         </td> <td>@item.Creator           </td></tr><tr><td>创建日期       </td> <td>@item.CreateDate        </td></tr><tr><td>更新用户       </td> <td>@item.UpdateUser        </td></tr><tr><td>更新日期       </td> <td>@item.UpdateDate        </td></tr><tr><td>EAS用户编码    </td> <td>@item.Eas_UserCode      </td></tr><tr><td>EAS的用户名    </td> <td>@item.Eas_UserName      </td></tr><tr><td>备注           </td> <td>@item.Rank </td></tr></table>}
</div>

View Code

3.3.1 删除页面

3.3.2 html页面

@using MvcApplication1
@using MvcApplication1.Common
@{ViewBag.Title = "Index";
}
<script type="text/javascript">window.onload = function () {var deleteClass = document.getElementsByClassName("deleteClass");var deleteLength = deleteClass.length;for (var i = 0; i < deleteLength; i++) {deleteClass[i].onclick = function () {if (!confirm("确认要删除吗?")) {return false;}}}}
</script>
<link href="~/Css/pageBarStyle.css" rel="stylesheet" />
<div><table><tr><th>编号</th><th>用户名</th><th>密码</th><th>详情</th></tr>@{foreach (var item in (IQueryable<TB_User>)ViewData["UserInfoList"]){<tr><td>@item.UserID</td><td>@item.UserName</td><td>@item.Password</td><td><a href="/UserInfo/ShowDetail?id=@item.UserID">详情</a><a href="/UserInfo/Delete?id=@item.UserID" class="deleteClass">删除</a></td></tr>}}<tr><td>@PageBarHelper.GetPageBar((int)ViewData["pageIndex"], (int)ViewData["pageCount"],10)</td></tr></table><hr /></div>

View Code

3.4.1 分页功能

效果图:

整体代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;namespace MvcApplication1.Controllers
{public class UserInfoController : Controller{//// GET: /UserInfo/ZLDC_CostControl_TestEntities db = new ZLDC_CostControl_TestEntities();public ActionResult Index(){//var userInfoList = db.TB_User.Where<TB_User>(u => u.Status==1);//ViewData["UserInfoList"] = userInfoList;//return View();#region 分页int pageIndex;//当前页数if (!int.TryParse(Request["pageIndex"],out pageIndex)){pageIndex = 1;}int recordCount;//总记录数recordCount = db.TB_User.Where<TB_User>(u => u.Status == 1).Count();int pageSize;//每页多少条pageSize=10;int pageCount;//总的页数pageCount = Convert.ToInt32(Math.Ceiling((double)(recordCount / pageSize)));pageIndex = pageIndex < 1 ? 1 : pageIndex;pageIndex = pageIndex > pageCount ? pageCount : pageIndex;var userInfoList = db.TB_User.Where<TB_User>(u => u.Status == 1).OrderByDescending<TB_User, DateTime>(u => (DateTime)u.CreateDate).Skip<TB_User>((pageIndex-1)*pageSize).Take<TB_User>(pageSize);ViewData["UserInfoList"] = userInfoList;ViewData["pageIndex"] = pageIndex;ViewData["pageCount"] = pageCount;return View();#endregion}public ActionResult ShowDetail(){string userID =Request["id"];var userInfo = db.TB_User.Where(u => u.UserID == userID).FirstOrDefault();ViewData["UserInfo"] = userInfo;return View();}public ActionResult Delete(){string userID = Request["id"];var userInfo = db.TB_User.Where(u => u.UserID == userID).FirstOrDefault();if (userInfo != null){userInfo.Status = 0;db.Entry<TB_User>(userInfo).State = System.Data.EntityState.Modified;if (db.SaveChanges() > 0){return RedirectToAction("Index");}else {return Content("删除失败! ");                }}else {return Content("删除失败! 要删除的数据不存在!");}}}
}

UserInfoController

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web;
using System.Web.Mvc;namespace MvcApplication1.Common
{public partial class PageBarHelper{/// <summary>/// 获取底部数字页码显示条/// </summary>/// <param name="pageIndex">当前页码值</param>/// <param name="pageCount">总的页码值</param>/// <param name="pageShowCount">需要显示上下几页页码</param>/// <returns></returns>public static MvcHtmlString GetPageBar(int pageIndex, int pageCount, int pageShowCount){string pageBarHtml;//假设每次显示10页数据.pageShowCount=10,一共有18页数据int start = 0, end = 0;//循环开始页,循环结束页if (pageIndex <= pageShowCount / 2 && pageCount >= pageShowCount){//当前页码in( 1 2 3)  ==== 1 2 3 4 5 6 7 8 9 10start = 1;end = start + pageShowCount;}else if (pageIndex <= pageShowCount / 2 && pageCount < pageShowCount){//当前页码in( 1 2 3)  ==== 1 2 3 4 5 start = 1;end = pageCount + 1;}else if (pageIndex > pageShowCount / 2 && pageIndex + pageShowCount / 2 <= pageCount){//当前页码in(8)  ==== 3 4 5 6 7 8 9 10 11 12 start = pageIndex - pageShowCount / 2;end = start + pageShowCount;}else if (pageIndex > pageShowCount / 2 && pageIndex + pageShowCount / 2 > pageCount){//当前页码in(16)  ====  9 10 11 12 13 14 15 16 17 18 start = pageCount - pageShowCount > 0 ? pageCount - pageShowCount + 1 : 1;end = pageCount + 1;}StringBuilder sb = new StringBuilder();if (pageIndex != 1){sb.AppendFormat(@"<a href='?pageIndex={0}'>上一页</a>", pageIndex - 1);}//循环遍历for (int i = start; i < end; i++){if (i == pageIndex){sb.AppendFormat(@"<a href='#'>{0}</a>", i);}else{sb.AppendFormat(@"<a href='?pageIndex={0}'>{0}</a>", i);}}if (pageIndex != pageCount){sb.AppendFormat(@"<a href='?pageIndex={0}'>下一页</a>", pageIndex + 1);}pageBarHtml = sb.ToString();return MvcHtmlString.Create(sb.ToString()); }}
}

PageBarHelper

@using MvcApplication1
@using MvcApplication1.Common
@{ViewBag.Title = "Index";
}
<script type="text/javascript">window.onload = function () {var deleteClass = document.getElementsByClassName("deleteClass");var deleteLength = deleteClass.length;for (var i = 0; i < deleteLength; i++) {deleteClass[i].onclick = function () {if (!confirm("确认要删除吗?")) {return false;}}}}
</script>
<link href="~/Css/pageBarStyle.css" rel="stylesheet" />
<div><table><tr><th>编号</th><th>用户名</th><th>密码</th><th>详情</th></tr>@{foreach (var item in (IQueryable<TB_User>)ViewData["UserInfoList"]){<tr><td>@item.UserID</td><td>@item.UserName</td><td>@item.Password</td><td><a href="/UserInfo/ShowDetail?id=@item.UserID">详情</a><a href="/UserInfo/Delete?id=@item.UserID" class="deleteClass">删除</a></td></tr>}}<tr><td>@PageBarHelper.GetPageBar((int)ViewData["pageIndex"], (int)ViewData["pageCount"],10)</td></tr></table><hr /></div>

Index.cshtml

转载于:https://www.cnblogs.com/YK2012/p/7667422.html

步步为营-93-MVC+EF简单实例相关推荐

  1. EasyUI+MVC+EF简单用户管理Demo(问题及解决)

    EasyUI+MVC+EF简单用户管理Demo(问题及解决) 参考文章: (1)EasyUI+MVC+EF简单用户管理Demo(问题及解决) (2)https://www.cnblogs.com/xi ...

  2. MVC+EF+Linq 实例

    天才第一步:创建数据库 创建数据库的代码: create table category( id int primary key, name nvarchar(20) )create table new ...

  3. ASP.NET MVC Framework体验(1):从一个简单实例开始

    概述 12月10日微软发布了ASP.NET 3.5扩展的预览版,在其中包括了ASP.NET MVC Framework.ASP.NET AJAX改进.ASP.NET动态数据支持.ASP.NET SIl ...

  4. ASP.NET MVC+EF框架+EasyUI实现权限管理系列(14)-主框架搭建

    ASP.NET MVC+EF框架+EasyUI实现权限管理系列(14)-主框架搭建 原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(14)-主框架搭建    ASP.NET MV ...

  5. ASP.NET MVC+EF框架+EasyUI实现权限管理系列(18)-过滤器的使用和批量删除数据(伪删除和直接删除)...

    ASP.NET MVC+EF框架+EasyUI实现权限管理系列(18)-过滤器的使用和批量删除数据(伪删除和直接删除) 原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(18)-过 ...

  6. ASP.NET MVC+EF框架+EasyUI实现权限管理系列(13)-权限设计

    原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(13)-权限设计 ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇)   (1):框架搭建    (2):数据 ...

  7. ASP.NET MVC+EF框架+EasyUI实现权限管理系列(17)-注册用户功能的细节处理(各种验证)...

    原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(17)-注册用户功能的细节处理(各种验证) ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇)   (1):框 ...

  8. DynamicData for Asp.net Mvc留言本实例 中篇 新建.删除.数据验证

    上篇咱完成了显示列表的功能,下面接着来 也许您有疑问,这个显示列表不是和正常的Asp.net Mvc差不多吗?也是个foreach只是由原来的<%=字段%>变成了<% Html.Re ...

  9. springMVC简单实例

    springMVC简单实例 参考: 使用springMVC实现简单的登录例子 - Admol - 博客园 https://www.cnblogs.com/admol/articles/4199546. ...

最新文章

  1. Centos7 防火墙和Selinux 一些简单操作命令
  2. 查询用户所有信息后只需要两个字段的信息_Excel VBA+ADO+SQL入门教程023:OpenSchema获取表信息...
  3. java高效遍历匹配,使用cypher或遍历api仅匹配路径极端的单个节点
  4. C#操作Excel总结
  5. 重口味动漫_每种口味的图标样式
  6. CentOS7下Spark集群的安装
  7. resiprocate 之repro注册
  8. Linux命令使用练习一
  9. CentOS Docker环境部署NextCloud
  10. 【递归算法】递归算法的快速入门
  11. 基于算力驱动、数据与功能协同的分布式动态(协同)渲染/功能运行时
  12. iOS_Pass iOS10适配:权限访问、MiPush小米推送(更新中)
  13. mysql 统计请假天数_sql查询员工请假详情——请假天数跨月问题
  14. c++实现经典游戏——贪吃蛇
  15. 设计模式—策略模式(Strategy Pattern)
  16. 一款功能超级强大的AI驱动自动一键抠图软件,可一键扣人物商品衣服动物婚纱图章签名logo
  17. 微信支付-浅谈普通商户和子商户的开发区别
  18. Vue3前端项目加载使用腾讯地图
  19. 基于百度地图sdk的地图app开发(七)——导航和模拟导航
  20. Windows平台OpenGL渲染视频

热门文章

  1. dell加装固态硬盘_SSD固态硬盘安装操作系统方法
  2. mysql分组查询统计求和
  3. Git 出现Branch master set up to track remote branch master问题 与忽略文件上传
  4. redhad6.4 安装zabbix2.4
  5. ORACLE(Linux版本)实时同步数据到MYSQL(Linux版本)解决方案:OGG
  6. 让应用程序支持emoji字符 廖雪峰 / 编程 / 2017-4-20 22:01 / 阅读: 5051 什么是emoji?就是这些表情和符号:
  7. 2019-06-02 Java学习日记之多线程上
  8. IBM携手三菱东京日联银行 将区块链用于合同管理
  9. Oracle 分页查询
  10. Python 脚本相关知识