分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 技术分享

步步为营-93-MVC+EF简单实例

发布时间:2023-09-06 01:17责任编辑:顾先生关键词:MVC

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 10 ???????????????start = 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

步步为营-93-MVC+EF简单实例

原文地址:http://www.cnblogs.com/YK2012/p/7667422.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved