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

时间:2022-09-25 22:29:09

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

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

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

首先把所有用户信息显示在index页面上.找到index页面对应的controller,然后查找出所有用户信息,把查找出的用户集合放在viewdata里面
 Controller代码:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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页面代码

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<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.编辑用户
 首先我们看下编辑页面的效果图 

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

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
/// <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来显示。
 页面代码

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
<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
 

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
[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
 

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
/// <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基本功能。