1 using System;
 2 using System.Data;
 3 using System.Configuration;
 4 using System.Collections;
 5 using System.Web;
 6 using System.Web.Security;
 7 using System.Web.UI;
 8 using System.Web.UI.WebControls;
 9 using System.Web.UI.WebControls.WebParts;
10 using System.Web.UI.HtmlControls;
11 using System.Data.SqlClient;//
12 
13 public partial class Basic_View : System.Web.UI.Page
14 {
15   protected void Page_Load(object sender, EventArgs e)
16   {
17         if (!Page.IsPostBack) // 처음 로드될 때에만
18         {
19             DisplayData();    
20         }
21   }
22     // 넘겨져 온 번호 값에 해당하는 데이터를 각각의 컨트롤에 출력
23     private void DisplayData()
24     {
25         //[1] 변수 선언부
26         string strSql = "ViewBasic";
27         #region 커넥션과 커멘드
28         //[2] 커넥션
29         SqlConnection objCon = new SqlConnection();
30         objCon.ConnectionString =
31             ConfigurationManager.ConnectionStrings[
32                 "ConnectionString"].ConnectionString;//DB연결문자열지정
33         objCon.Open();
34         //[3] 커멘드
35         SqlCommand objCmd = new SqlCommand();
36         objCmd.Connection = objCon;
37         objCmd.CommandText = strSql;// 
38         #endregion
39         objCmd.CommandType = CommandType.StoredProcedure;//
40         //[!] 파라미터 추가
41         objCmd.Parameters.AddWithValue("@Num", Request["Num"]);
42         //[4] 데이터리더 : 커멘드 개체의 ExecuteReader()로 개체 생성
43         SqlDataReader objDr = objCmd.ExecuteReader();//내부적 Open()실행
44         //[5] 바인딩
45         while (objDr.Read()) // 데이터가 있는 동안 반복 출력
46         {
47             this.lblNum.Text = Request["Num"];
48             this.lblName.Text = objDr["Name"].ToString();//이름
49             this.lblEmail.Text = objDr.GetString(2);//이메일
50             this.lblHomepage.Text = objDr["Homepage"].ToString();//
51             this.lblTitle.Text = objDr["Title"].ToString();//제목
52             this.lblPostDate.Text = objDr["PostDate"].ToString();
53             // 인코딩 방식에 맞게 내용 출력
54             string strEncoding = objDr["Encoding"].ToString();
55             if (strEncoding == "Text") { // 타이핑한 그대로(소스 표현)
56                 this.lblContent.Text = 
57                     objDr["Content"].ToString().Replace(
58                         "&", "&").Replace("<", "<").Replace(
59                             ">", ">").Replace("\r\n", "
");//내용                
60             }
61             else if (strEncoding == "Mixed") // 태그실행 + 개행처리
62             {
63                 this.lblContent.Text = 
64                     objDr["Content"].ToString().Replace("\r\n", "
");    
65             }
66             else // 태그형식으로 실행
67             {
68                 this.lblContent.Text = objDr["Content"].ToString();
69             }
70         }
71         //[6] 마무리
72         objDr.Close();
73         objCon.Close();
74     }
75     protected void btnModify_Click(object sender, EventArgs e) {
76         Response.Redirect("Modify.aspx?Num=" + Request["Num"]);
77     }
78     protected void btnDelete_Click(object sender, EventArgs e) {
79         Response.Redirect("Delete.aspx?Num=" + Request["Num"]);
80     }
81     protected void btnList_Click(object sender, EventArgs e) {
82         Response.Redirect("List.aspx");
83     }
84 }
85