Asp.Mvc 2.0用户的编辑与删除实例讲解(5)
这一节来给大家演示下怎么对用户信息进行修改和删除用户,主要包括以下内容
1.显示所有用户
2.编辑用户
3.删除用户
1.显示所有用户
我们把所有用户信息查询出来,以表格形式在页面上显示,效果图如下:
首先把所有用户信息显示在index页面上.找到index页面对应的controller,然后查找出所有用户信息,把查找出的用户集合放在viewdata里面
Controller代码:
public ActionResult Index() { //查询出所有用户 DataSet ds = new Models.SqlHelper().GetAllUsers(); if (ds!=null&&ds.Tables[0].Rows.Count>0) { List<Models.UserModels> lists = new List<Models.UserModels>(); for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { Models.UserModels model = new Models.UserModels(); model.UserName = ds.Tables[0].Rows[i]["UserName"].ToString(); model.UserPwd = ds.Tables[0].Rows[i]["UserPwd"].ToString(); model.Email = ds.Tables[0].Rows[i]["Email"].ToString(); lists.Add(model); } if (lists.Count>0) { ViewData["users"] = lists; } } return View(); }
Index页面代码
<table style="border-bottom-width:1px;"> <tr> <td>用户名</td> <td>密码</td> <td>邮箱</td> <td>编辑</td> <td>删除</td> </tr> <%foreach (var item in (ViewData["users"] as IEnumerable<MvcLogin.Models.UserModels>) ) {%> <tr> <td> <%:item.UserName %> </td> <td><%:item.UserPwd %></td> <td><%:item.Email %></td> <td>编辑 <%:Html.ActionLink("编辑", "EditUser","user",new { userName=item.UserName},null)%></td> <td><%:Html.ActionLink("删除", "DelUser", "user", new { userName=item.UserName},null)%></td> </tr> <% } %> </table>
点击每行数据后面的编辑按钮,转向编辑页面。接下来我们看看编辑页面
2.编辑用户
首先我们看下编辑页面的效果图
点击每行的编辑链接,转向编辑页面,显示当前用户信息。
首先我们看下编辑页面对应的controller:
/// <summary> /// 转向编辑页面 /// </summary> /// <param name="userName"></param> /// <returns></returns> public ActionResult EditUser(string userName) { //根据用户名获取用户信息 DataSet ds = new Models.SqlHelper().GetSingleUser(userName); if (ds != null && ds.Tables[0].Rows.Count > 0) { ViewData["username"] = ds.Tables[0].Rows[0]["username"].ToString(); ViewData["userPwd"] = ds.Tables[0].Rows[0]["userpwd"].ToString(); ViewData["email"] = ds.Tables[0].Rows[0]["email"].ToString(); return View("edituser"); } else { return View("error"); } }
然后在页面上显示用户信息,在这个地方我们显示页面信息用viewdata来显示。
页面代码
<form id="form1" method="post" action="/user/edituser?username=<%:ViewData["username"].ToString() %>"> <div> 修改用户信息 <table class="style1"> <tr> <td class="style2"> </td> <td class="style3"> </td> <td> </td> </tr> <tr> <td class="style2"> 用户名:</td> <td class="style3"> <input type="text" id="txtUserName" name="txtUserName" disabled="disabled" value="<%:ViewData["username"].ToString() %>" /> </td> <td> </td> </tr> <tr> <td class="style2"> 密码:</td> <td class="style3"> <input type="text" id="txtUserPwd" name="txtUserPwd" value="<%:ViewData["userPwd"].ToString() %>"/> </td> <td> </td> </tr> <tr> <td class="style2"> 邮箱:</td> <td class="style3"> <input type="text" id="txtemail" name="txtemail" value="<%:ViewData["email"].ToString() %>" /> </td> <td> </td> </tr> <tr> <td class="style2"> </td> <td class="style3"> <input id="Button1" type="submit" value="提交" /></td> <td> </td> </tr> </table> <%if (ViewData["errMsg"] != null) {%> <%:ViewData["errMsg"].ToString()%> <%} %> </div> </form>
提交修改信息
在编辑页面修改完用户信息后,点击提交按钮,会提交用户信息。
我们看下提交对应的controller
[HttpPost] public ActionResult EditUser() { string userName = Request.QueryString["UserName"].ToString(); string userPwd = Request.Form["txtUserPwd"].ToString(); string email = Request.Form["txtemail"].ToString(); if (userName == "" || userPwd == "") { ViewData["errMsg"] = "用户名和密码不能为空"; return EditUser(userName); } else { //更新数据库 bool result=new Models.SqlHelper().UpdateUser(userName, userPwd, email); if (result) { //转向主页 DataSet ds = new Models.SqlHelper().GetAllUsers(); if (ds != null && ds.Tables[0].Rows.Count > 0) { List<Models.UserModels> lists = new List<Models.UserModels>(); for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { Models.UserModels model = new Models.UserModels(); model.UserName = ds.Tables[0].Rows[i]["UserName"].ToString(); model.UserPwd = ds.Tables[0].Rows[i]["UserPwd"].ToString(); model.Email = ds.Tables[0].Rows[i]["Email"].ToString(); lists.Add(model); } if (lists.Count > 0) { ViewData["users"] = lists; } } return View("index"); } else { ViewData["errMsg"] = "更新失败"; return EditUser(userName); } }
在提交controller中,我们使用Request.Form获取用户输入的内容。提交成功后,转向INDEX首页。
3.删除用户.
点击删除链接,会根据当前的用户名,转向删除对应的controller
/// <summary> /// 删除用户 /// </summary> /// <param name="userName"></param> /// <returns></returns> public ActionResult DelUser(string userName) { bool result = new Models.SqlHelper().DelUser(userName); DataSet ds = new Models.SqlHelper().GetAllUsers(); if (ds != null && ds.Tables[0].Rows.Count > 0) { List<Models.UserModels> lists = new List<Models.UserModels>(); for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { Models.UserModels model = new Models.UserModels(); model.UserName = ds.Tables[0].Rows[i]["UserName"].ToString(); model.UserPwd = ds.Tables[0].Rows[i]["UserPwd"].ToString(); model.Email = ds.Tables[0].Rows[i]["Email"].ToString(); lists.Add(model); } if (lists.Count > 0) { ViewData["users"] = lists; } } return View("index");
以上就是Asp.Mvc 2.0用户的编辑与删除实例的实现全过程,希望通过Asp.Mvc 2.0五节内容的学习可以更好地帮助大家掌握Asp.Mvc 2.0基本功能。
相关文章
- vue数据双向绑定是通过数据劫持结合发布者-订阅者模式的方式来实现的,下面这篇文章主要给大家介绍了关于如何利用js实现Vue2.0中数据的双向绑定功能的相关资料,需要的朋友可以参考下...2021-07-19
- 今天小编就为大家分享一篇TensorFlow2.0:张量的合并与分割实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-04-22
vue2.0 watch里面的 deep和immediate用法说明
这篇文章主要介绍了vue2.0 watch里面的 deep和immediate用法说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-10-30.NET Core 2.0迁移小技巧之web.config 配置文件示例详解
这篇文章主要给大家介绍了关于.NET Core 2.0迁移技巧之web.config 配置文件的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面跟着小编来一起学习学习吧。...2021-09-22全网通3.0是什么意思?全网通3.0和2.0详细区别对比评测
全网通3.0是什么意思?全网通3.0和全网通2.0有什么不同?本文将提供全网通3.0和2.0详细区别对比评测供大家了解,希望对大家有所帮助...2016-07-04- 本文介绍了其在AtScript、改善依赖入驻、Annotations、路由方案等方面的改变。虽然不知道打破原有是否是件好事,不过由于不向后兼容,我们需要为迁移做好计划...2016-02-21
eMMC5.1和UFS2.0两种材质的手机内存哪个更好?有什么区别?
2016年,安卓手机配置再次提升到了一个新的档次,骁龙820、4GB大内存,存储也飙到了128GB,而在这里,有一个很小的细节,那就是采用了UFS2.0闪存,而不是之前比较流行的eMMC5.1,那么eMMC5.1和UFS2.0两种材质的手机内存哪个更好?有什么区别?下面我们一起来了解下吧...2016-09-12- 这篇文章主要跟大家分享了Yii 2.0在Grid中格式化时间的相关资料,文中给出了详细的示例代码供大家参考学习,对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。...2017-06-11
- 这篇文章主要为大家详细介绍了.NET Core 2.0 Preview2 发布汇总的相关内容,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-09-22
- 这篇文章主要介绍了yii2.0实现验证用户名与邮箱功能的相关资料,需要的朋友可以参考下...2015-12-24
.NET Core 2.0迁移小技巧之MemoryCache问题修复解决的方法
这篇文章主要给大家介绍了关于.NET Core 2.0迁移小技巧之MemoryCache问题修复解决的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。...2021-09-22ASP.NET Core 2.0 WebApi全局配置及日志实例
下面小编就为大家分享一篇ASP.NET Core 2.0 WebApi全局配置及日志实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-09-22- 这篇文章主要为大家详细介绍了vue2.0多条件搜索组件的实现方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2017-05-09
- 这篇文章主要介绍了Asp.Mvc 2.0用户的编辑与删除功能,需要的朋友可以参考下...2021-09-22
- 这篇文章主要给大家介绍了关于yii 2.0中表单小部件的使用方法,文中介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧。...2017-05-26
- 这篇文章主要介绍了vue2.0 解决抽取公用js的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-07-31
- Amazing ASP.NET Core 2.0,这篇文章主要介绍了ASP.NET Core 2.0 版本的新特性,感兴趣的小伙伴们可以参考一下...2021-09-22
- 这篇文章主要介绍了 Asp.Mvc 2.0实现客户端验证功能,本文使用jquery.validate插件进行验证,需要的朋友可以参考下...2021-09-22
CodeFirst从零开始搭建Asp.Net Core2.0网站
这篇文章主要为大家详细介绍了CodeFirst从零开始搭建Asp.Net Core2.0网站的详细过程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-09-22- 如见Web2.0被吵的如火如荼,同时也有很多的评论褒贬不一。有人说Web2.0就是“一帮人在看皇帝的新装而已”。也有人说Web2.0将是一场变革。无论这些争论有没有价值...2016-09-20