步步为营-93-MVC+EF简单实例
1:创建MVC项目
2:添加EF数据(这里选择DataBaseFirst模式)
3:添加控制器
3.1.1 创建列表页面
3.1.2 html页面
![](/assets/blank.gif)
![](/assets/blank.gif)
@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页面
![](/assets/blank.gif)
![](/assets/blank.gif)
@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页面
![](/assets/blank.gif)
![](/assets/blank.gif)
@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 分页功能
效果图:
整体代码
![](/assets/blank.gif)
![](/assets/blank.gif)
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
![](/assets/blank.gif)
![](/assets/blank.gif)
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
![](/assets/blank.gif)
![](/assets/blank.gif)
@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简单实例相关推荐
- EasyUI+MVC+EF简单用户管理Demo(问题及解决)
EasyUI+MVC+EF简单用户管理Demo(问题及解决) 参考文章: (1)EasyUI+MVC+EF简单用户管理Demo(问题及解决) (2)https://www.cnblogs.com/xi ...
- MVC+EF+Linq 实例
天才第一步:创建数据库 创建数据库的代码: create table category( id int primary key, name nvarchar(20) )create table new ...
- ASP.NET MVC Framework体验(1):从一个简单实例开始
概述 12月10日微软发布了ASP.NET 3.5扩展的预览版,在其中包括了ASP.NET MVC Framework.ASP.NET AJAX改进.ASP.NET动态数据支持.ASP.NET SIl ...
- ASP.NET MVC+EF框架+EasyUI实现权限管理系列(14)-主框架搭建
ASP.NET MVC+EF框架+EasyUI实现权限管理系列(14)-主框架搭建 原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(14)-主框架搭建 ASP.NET MV ...
- ASP.NET MVC+EF框架+EasyUI实现权限管理系列(18)-过滤器的使用和批量删除数据(伪删除和直接删除)...
ASP.NET MVC+EF框架+EasyUI实现权限管理系列(18)-过滤器的使用和批量删除数据(伪删除和直接删除) 原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(18)-过 ...
- ASP.NET MVC+EF框架+EasyUI实现权限管理系列(13)-权限设计
原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(13)-权限设计 ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇) (1):框架搭建 (2):数据 ...
- ASP.NET MVC+EF框架+EasyUI实现权限管理系列(17)-注册用户功能的细节处理(各种验证)...
原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(17)-注册用户功能的细节处理(各种验证) ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇) (1):框 ...
- DynamicData for Asp.net Mvc留言本实例 中篇 新建.删除.数据验证
上篇咱完成了显示列表的功能,下面接着来 也许您有疑问,这个显示列表不是和正常的Asp.net Mvc差不多吗?也是个foreach只是由原来的<%=字段%>变成了<% Html.Re ...
- springMVC简单实例
springMVC简单实例 参考: 使用springMVC实现简单的登录例子 - Admol - 博客园 https://www.cnblogs.com/admol/articles/4199546. ...
最新文章
- Centos7 防火墙和Selinux 一些简单操作命令
- 查询用户所有信息后只需要两个字段的信息_Excel VBA+ADO+SQL入门教程023:OpenSchema获取表信息...
- java高效遍历匹配,使用cypher或遍历api仅匹配路径极端的单个节点
- C#操作Excel总结
- 重口味动漫_每种口味的图标样式
- CentOS7下Spark集群的安装
- resiprocate 之repro注册
- Linux命令使用练习一
- CentOS Docker环境部署NextCloud
- 【递归算法】递归算法的快速入门
- 基于算力驱动、数据与功能协同的分布式动态(协同)渲染/功能运行时
- iOS_Pass iOS10适配:权限访问、MiPush小米推送(更新中)
- mysql 统计请假天数_sql查询员工请假详情——请假天数跨月问题
- c++实现经典游戏——贪吃蛇
- 设计模式—策略模式(Strategy Pattern)
- 一款功能超级强大的AI驱动自动一键抠图软件,可一键扣人物商品衣服动物婚纱图章签名logo
- 微信支付-浅谈普通商户和子商户的开发区别
- Vue3前端项目加载使用腾讯地图
- 基于百度地图sdk的地图app开发(七)——导航和模拟导航
- Windows平台OpenGL渲染视频
热门文章
- dell加装固态硬盘_SSD固态硬盘安装操作系统方法
- mysql分组查询统计求和
- Git 出现Branch master set up to track remote branch master问题 与忽略文件上传
- redhad6.4 安装zabbix2.4
- ORACLE(Linux版本)实时同步数据到MYSQL(Linux版本)解决方案:OGG
- 让应用程序支持emoji字符 廖雪峰 / 编程 / 2017-4-20 22:01 / 阅读: 5051 什么是emoji?就是这些表情和符号:
- 2019-06-02 Java学习日记之多线程上
- IBM携手三菱东京日联银行 将区块链用于合同管理
- Oracle 分页查询
- Python 脚本相关知识