ASP.NET 기초 강의실

시삽: 레드플러스 님 
게시판 이동:
 제목 : 31.8.1. 회원 가입 : (관리자 전용) 회원 정보 변경 : UserView.ascx.cs
글번호: 205
작성자: 레드플러스
작성일: 2007/07/02 오후 6:14:00
조회수: 4632
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;//

public partial class UserViewControl : System.Web.UI.UserControl
{
  protected void Page_Load(object sender, EventArgs e)
  {
        // 최고관리자만 회원 정보 관리
        if (Page.User.Identity.Name.ToLower() != "administrator")
        {
            Response.Redirect("~/Login.aspx");    
        }
        // UserManager.aspx에서 UID값으로 쿼리스트링이 넘어오면...
        if (Request["UID"] != null)
        {
            if (!Page.IsPostBack) // 처음 로드할 때에만 사용자 정보 표시
            {
                DisplayData();        
            }    
        }
  }
    private void DisplayData()
    {
        SqlConnection objCon = new SqlConnection(ConfigurationManager.ConnectionStrings[
                "ConnectionString"].ConnectionString);
        objCon.Open();
        SqlCommand objCmd = new SqlCommand(
            "Select * From Users Where UID = @UID", objCon);
        objCmd.Parameters.AddWithValue("@UID", Request["UID"]);
        SqlDataReader objDr = objCmd.ExecuteReader();
        while (objDr.Read()) {
            txtDomainID.Text = objDr["DomainID"].ToString();
            txtName.Text = objDr["Name"].ToString();
            txtEmail.Text = objDr["Email"].ToString();
            txtDescription.Text = objDr["Description"].ToString();
            if (Convert.ToInt32(objDr["Blocked"]) == 0) {
                this.optBlocked.Items[0].Selected = true;//사용 가능 체크    
            }
            else {
                this.optBlocked.Items[1].Selected = true;//잠금 체크
            }
        }
        objDr.Close();
        objCon.Close();
    }
    protected void btnModifyProfile_Click(object sender, EventArgs e)
    {
        //[1] 커넥션
        SqlConnection objCon = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);
        objCon.Open();
        //[2] 커멘드
        SqlCommand objCmd = new SqlCommand();
        objCmd.Connection = objCon;
        objCmd.CommandText = "UpdateUserAdmin";
        objCmd.CommandType = CommandType.StoredProcedure;
        //[3] 파라미터추가
        objCmd.Parameters.AddWithValue("@DomainID", txtDomainID.Text);
        objCmd.Parameters.AddWithValue("@Name", txtName.Text);
        objCmd.Parameters.AddWithValue("@Password", txtNewPassword.Text);
        objCmd.Parameters.AddWithValue("@Email", txtEmail.Text);
        objCmd.Parameters.AddWithValue("@Description", txtDescription.Text);
        objCmd.Parameters.AddWithValue("@Blocked", optBlocked.SelectedValue);
        objCmd.Parameters.AddWithValue("@UID", Request["UID"]);
        //[4] 실행
        objCmd.ExecuteNonQuery();
        //[5] 마무리
        objCon.Close();
        Response.Redirect("UserView.aspx?UID=" + Request["UID"]);
    }
    protected void btnDeleteUser_Click(object sender, EventArgs e)
    {
        //아이디 받기
        string strDomainID = txtDomainID.Text.ToLower();
        if (strDomainID == "administrator" ||
            strDomainID == "guest" || strDomainID == "anonymous")
        {
            string strJs = @"
<script>
alert('해당사용자는 관리 목적의 사용자로 삭제할 수 없습니다.');
</script>        
            ";
            // 자바스크립트 실행 : 경고창 띄우기
            Page.ClientScript.RegisterStartupScript(
                this.GetType(), "gogo", strJs
            );
        }
        else
        {
            DeleteProcess(); // 삭제 진행
        }
    }

    private void DeleteProcess()
    {
        //[1] 커넥션
        SqlConnection objCon = new SqlConnection();
        objCon.ConnectionString =
            ConfigurationManager.ConnectionStrings[
                "ConnectionString"].ConnectionString;
        objCon.Open();
        //[2] 커멘드
        SqlCommand objCmd = new SqlCommand();
        objCmd.Connection = objCon;
        objCmd.CommandText = "DeleteUser";
        objCmd.CommandType = CommandType.StoredProcedure;
        //[3] 파라미터추가
        objCmd.Parameters.AddWithValue(
            "@DomainID", txtDomainID.Text);
        //[4] 실행
        objCmd.ExecuteNonQuery();
        //[5] 마무리
        objCon.Close();
        Response.Redirect("UserList.aspx");
    }
}
 
이전 글   다음 글 삭제 수정 답변 글쓰기 리스트


관련 아티클 리스트
  제       목 파일 작성자 작성일 조회
이전글 32. 자주 사용되는 메서드를 클래스라이브러리 프로젝트로 포함 - 레드플러스 2007-06-26 5564
  31. 회원 가입 - 레드플러스 2007-06-22 6937
  31.1. 회원 가입 관련 테이블, 뷰, 저장 프로시저 구문 - 레드플러스 2007-06-22 7618
  31.2. ~/Web.config - 레드플러스 2007-06-22 7013
  31.2.3. DAAB : Microsoft.ApplicationBlocks.Data... Microsoft.ApplicationBlocks.Data(1).dll(32 KB) 레드플러스 2007-07-11 5414
  31.3. 회원 가입 페이지 : ~/Register.ascx - 레드플러스 2007-06-22 5792
  31.3.1. 회원 가입 페이지 : ~/Register.ascx.cs - 레드플러스 2007-06-22 5662
  31.4. 회원 가입 : 로그인 페이지 : Login.ascx - 레드플러스 2007-06-22 5551
  31.4. 회원 가입 : 로그인 페이지 : Login.ascx.cs - 레드플러스 2007-06-22 6284
  31.5. 회원 가입 : 회원 정보 표시 : LoginInfor.ascx - 레드플러스 2007-06-22 6176
  31.5.1. 회원 가입 : 회원 정보 표시 : LoginInfor.ascx.cs - 레드플러스 2007-06-22 4749
  31.6. 회원 가입 : 회원 정보 수정 및 탈퇴 페이지 : UserInfor.asc... - 레드플러스 2007-06-25 6910
  31.6. 회원 가입 : 회원 정보 수정 및 탈퇴 페이지 : UserInfor.asc... - 레드플러스 2007-06-25 6985
  31.7. (관리자 전용) 회원 전체 리스트 출력 : UserList.ascx - 레드플러스 2007-06-29 4720
  31.7.1. (관리자 전용) 회원 전체 리스트 출력 : UserList.ascx.c... - 레드플러스 2007-06-29 4895
  31.8. 회원 가입 : (관리자 전용) 회원 정보 변경 : UserView.ascx... - 레드플러스 2007-07-02 9306
현재글 31.8.1. 회원 가입 : (관리자 전용) 회원 정보 변경 : UserView.as... - 레드플러스 2007-07-02 4632
  31.9. 회원 가입 : 로그인 환영 메시지 페이지 : Greetings.ascx - 레드플러스 2007-07-04 5697
  31.9.1. 회원 가입 : 로그인 환영 메시지 페이지 : Greetings.ascx... - 레드플러스 2007-07-04 4802
  31.10. 회원 가입 : (관리자)회원에게 그룹 권한 설정 : UserViewAdd... - 레드플러스 2007-07-05 4683
  31.10.1. 회원 가입 : (관리자)회원에게 그룹 권한 설정 : UserViewA... - 레드플러스 2007-07-05 4624
  31.11. NewGroup.ascx : 새로운 그룹(Roles) 추가 - 레드플러스 2007-07-06 4453
  31.11.1. NewGroup.ascx.cs : 새로운 그룹(Roles) 추가 - 레드플러스 2007-07-06 4436
  31.12. GroupList.ascx : 전체 그룹(Roles) 리스트 : 컨트롤 ... - 레드플러스 2007-07-06 4965
  31.13. 그룹 상세 정보 보기 : GroupView.ascx?UID={0} - 레드플러스 2007-07-10 4828
  31.13.1. 그룹 상세 정보 보기 : GroupView.ascx.cs - 레드플러스 2007-07-10 5064
다음글 30. 기본형 게시판 만들기(3계층으로 분리하지 않음) - 레드플러스 2007-06-18 8148
 
손님 사용자 Anonymous (손님)
로그인 Home