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

所属分类: 网络编程 / ASP.NET 阅读数: 536
收藏 0 赞 0 分享

这一节来给大家演示下怎么对用户信息进行修改和删除用户,主要包括以下内容
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基本功能。

更多精彩内容其他人还在看

.NET Core源码解析配置文件及依赖注入

这篇文章我们设计了一些复杂的概念,因为要对ASP.NET Core的启动及运行原理、配置文件的加载过程进行分析,依赖注入,控制反转等概念的讲解等
收藏 0 赞 0 分享

.NET Corek中Git的常用命令及实战演练

这篇文章将通过故事的形式从Git的历史谈起,并讲述Git的强大之处。然后通过实战演练教你如何在Github以及码云上托管我们的代码并进行代码的版本控制
收藏 0 赞 0 分享

Asp.Net Core WebAPI使用Swagger时API隐藏和分组详解

这篇文章主要给大家介绍了关于Asp.Net Core WebAPI使用Swagger时API隐藏和分组的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Asp.Net Core具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
收藏 0 赞 0 分享

如何利用FluentMigrator实现数据库迁移

这篇文章主要给大家介绍了关于如何利用FluentMigrator实现数据库迁移的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
收藏 0 赞 0 分享

ASP.NET Core利用Jaeger实现分布式追踪详解

这篇文章主要给大家介绍了关于ASP.NET Core利用Jaeger实现分布式追踪的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用ASP.NET Core具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
收藏 0 赞 0 分享

浅谈从ASP.NET Core2.2到3.0你可能会遇到这些问题

这篇文章主要介绍了ASP.NET Core2.2到3.0可能会遇到的问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

详解.net core webapi 前后端开发分离后的配置和部署

这篇文章主要介绍了.net core webapi 前后端开发分离后的配置和部署,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

详解ASP.Net Core 中如何借助CSRedis实现一个安全高效的分布式锁

这篇文章主要介绍了ASP.Net Core 中如何借助CSRedis实现一个安全高效的分布式锁,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

.net 4.5部署到docker容器的完整步骤

这篇文章主要给大家介绍了关于.net 4.5部署到docker容器的完整步骤,文中通过示例代码介绍的非常详细,对大家学习或者使用.net4.5具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
收藏 0 赞 0 分享

.net core并发下线程安全问题详解

这篇文章主要给大家介绍了关于.net core并发下线程安全问题的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用.net core具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
收藏 0 赞 0 分享
查看更多