Asp.Mvc 2.0用户的编辑与删除实例讲解(5)

这一节来给大家演示下怎么对用户信息进行修改和删除用户,主要包括以下内容
1.显示所有用户
2.编辑用户
3.删除用户
 

1.显示所有用户
  我们把所有用户信息查询出来,以表格形式在页面上显示,效果图如下:

Asp.Mvc 2.0用户的编辑与删除实例讲解(5)

首先把所有用户信息显示在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> <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.编辑用户
 首先我们看下编辑页面的效果图 

Asp.Mvc 2.0用户的编辑与删除实例讲解(5)

点击每行的编辑链接,转向编辑页面,显示当前用户信息。
首先我们看下编辑页面对应的controller:

/// <summary> /// 转向编辑页面 /// </summary> /// <param></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 method="post" action="/user/edituser?username=<%:ViewData["username"].ToString() %>"> <div> 修改用户信息 <table> <tr> <td> </td> <td> </td> <td> </td> </tr> <tr> <td> 用户名:</td> <td> <input type="text" disabled="disabled" value="<%:ViewData["username"].ToString() %>" /> </td> <td> </td> </tr> <tr> <td> 密码:</td> <td> <input type="text" value="<%:ViewData["userPwd"].ToString() %>"/> </td> <td> </td> </tr> <tr> <td> 邮箱:</td> <td> <input type="text" value="<%:ViewData["email"].ToString() %>" /> </td> <td> </td> </tr> <tr> <td> </td> <td> <input 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); } }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wjwspz.html