欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-03-26 10:51:45
这一节来给大家演示下怎么对用户信息进行修改和删除用户,主要包括以下内容 1.显示所有用户 2.编辑用户 3.删除用户   1.显示所有用户   我们...

这一节来给大家演示下怎么对用户信息进行修改和删除用户,主要包括以下内容

1.显示所有用户

2.编辑用户

3.删除用户

 

1.显示所有用户

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

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


 

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

 Controller代码:

[csharp] 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(); 
        } 
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页面代码

[html] <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> 
  <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:

 

[csharp] /// <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"); 
            } 
        } 
/// <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来显示

 页面代码

[html] <form id="form1" method="post"  action="/user/edituser?username=<%:ViewData["username"].ToString() %>"> 
   <p> 
   修改用户信息 
       <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()%> 
   <%} %> 
   </p> 
 
   </form> 
 <form id="form1" method="post"  action="/user/edituser?username=<%:ViewData["username"].ToString() %>">
    <p>
    修改用户信息
        <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()%>
    <%} %>
    </p>

    </form>

 

提交修改信息

在编辑页面修改完用户信息后,点击提交按钮,会提交用户信息。

我们看下提交对应的controller

[csharp] [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); 
              
             } 
              
 
            
           } 
 [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

 

[csharp]  /// <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"); 
        } 
/// <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");
        }

DEMO下载:http://up.2cto.com/2012/0522/20120522103322145.rar






摘自 奶酪专栏