Asp.Mvc 2.0 사용자 의 편집 및 삭제 인 스 턴 스 설명(5)

이 절 은 사용자 정 보 를 수정 하고 삭제 하 는 방법 을 보 여 줍 니 다.주로 다음 과 같은 내용 을 포함 합 니 다.
1.모든 사용자 표시
2.사용자 편집
3.사용자 삭제
 
1.모든 사용자 표시
  저 희 는 모든 사용자 정 보 를 조회 하여 표 형식 으로 페이지 에 표시 합 니 다.효과 도 는 다음 과 같 습 니 다.
 
먼저 모든 사용자 정 보 를 index 페이지 에 표시 합 니 다.index 페이지 에 대응 하 는 contrller 를 찾 은 다음 모든 사용자 정 보 를 찾 아 찾 은 사용 자 를 view data 에 집합 합 니 다.
 컨트롤 러 코드:

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(); 
    } 
 색인 페이지 코드

<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 5 절 내용 의 학습 을 통 해 Asp.Mvc 2.0 기본 기능 을 파악 하 는 데 도움 이 되 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기