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