블로그 이미지
Magic_kit
study 관련자료를 한곳으로 자기 개발 목적으로 재태크 재무 관리 목적으로 일상생활의 팁을 공유 하기 위하여 블로그를 개설 하였습니다.

calendar

1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28

Category

Recent Post

Recent Comment

Archive

2009. 10. 8. 01:51 .Net Project/ASP.NET 3.5 Sp1
반응형
 Basic/View.aspx 디자인 모드



- View.aspx 웹 페이지 실행하면 각각의 Lavel에 등록한 

- 제목, 번호, 이름, 이메일, 홈페이지, 작성일, 조회수, 아이피주소, 내용 을 표시

- 수정, 삭제, 리스트 버튼 클릭할 경우 각각의 웹 페이지로 이동 완료 출력하여 준다. 

<%@ Page Language="C#" AutoEventWireup="true"
                                  CodeFile="View.aspx.cs" Inherits="Basic_View" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>보기 : View</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <h3>글쓰기</h3>

    제목 : <asp:Label ID="lblTitle" runat="server" 
                                  ForeColor="Red"></asp:Label><br />

    번호 : <asp:Label ID="lblNum" runat="server"
                                  ForeColor="Red"></asp:Label><br />

    이름 : <asp:Label ID="lblName" runat="server"
                                  ForeColor="Red"></asp:Label><br />

    이메일 : <asp:Label ID="lblEmail" runat="server"
                                  ForeColor="Red"></asp:Label><br />

    홈페이지 : <asp:Label ID="lblHomepage" runat="server"
                                  ForeColor="Red"></asp:Label><br />

    작성일 : <asp:Label ID="lblPostDate" runat="server"
                                  ForeColor="Red"></asp:Label><br />

    조회수 : <asp:Label ID="lblReadCount" runat="server"
                                  ForeColor="Red"></asp:Label><br />

    IP주소 : <asp:Label ID="lblPostIP" runat="server"
                                  ForeColor="Red"></asp:Label><br />
   
    <asp:Label ID="lblContent" runat="server" Text="" 
                          ForeColor="Red"></asp:Label><br />
   
    <asp:Button ID="btnModifty" runat="server" Text="수정"
                          onclick="btnModifty_Click" />
    <asp:Button ID="btnDelete" runat="server" Text="삭제"
                          onclick="btnDelete_Click" />&nbsp
    <asp:Button ID="btnList" runat="server" Text="리스트" 
                          onclick="btnList_Click" />&nbsp
    </div>
    </form>
</body>
</html>


 Basic/View.aspx.Cs 이벤트 컨트롤 관련 모드

using System;
using System.Collections;
using System.Configuration;
using System.Data;
sing System.Data.SqlClient;

public partial class Basic_View : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        //넘겨져 온 쿼리 스트링 검사
        if (String.IsNullOrEmpty(Request["Num"]))
        {
            Response.Write("잘못된 요청입니다");
            Response.End();
        }
        else
        {
            if (!Page.IsPostBack)
            {
                //넘겨져온 번호에 해당하는 글 출력
                Display(); //호출
            }
        }
    }

    private void Display()
    {
        SqlConnection con = new SqlConnection
                                      (ConfigurationManager.ConnectionStrings
                                      ["ConnectionString"].ConnectionString);
        con.Open();

        SqlCommand cmd = new SqlCommand("ViewBasic", con);
        cmd.CommandType = CommandType.StoredProcedure;

        //파라미터 추가 : List.aspx에서 넘겨온 쿼리 스트링 값
        cmd.Parameters.AddWithValue("@Num", Request["Num"]);

        //상세보기 :DataReader
        SqlDataReader dr = cmd.ExecuteReader();
       
        //바인딩 : 각각의 컨트롤
        while (dr.Read())
        {
            this.lblNum.Text = dr["Num"].ToString();
            this.lblName.Text = dr["Name"].ToString();
            this.lblEmail.Text = dr["Email"].ToString();
            this.lblHomepage.Text = dr["Homepage"].ToString();
            this.lblTitle.Text = dr["Title"].ToString();
            this.lblPostDate.Text = dr["PostDate"].ToString();
           
            //인코딩에 따른 Content 출력 3가지 방법
            string encoding = dr["Encoding"].ToString(); //Text/Html
            if (encoding == "Text") //Text이면
            {
                this.lblContent.Text =
                        dr["Content"].ToString().Replace("&", "&amp;")
                                            .Replace("<", "lt;")
                                            .Replace(">", "&gt;")
                                            .Replace
                                              ("\t","&nbsp;&nbsp;&nbsp;&nbsp;")
                                            .Replace("\r\n", "<br />");
            }
            else if(encoding =="Mixed") //태그는 실행하되, 엔터는 처리
            {
                this.lblContent.Text =
                                      dr["Content"].ToString().Replace("\r\n", "<br />");
            }
            else //html로 변환해서 출력
            {
                this.lblContent.Text = dr["Content"].ToString();
            }
            
            this.lblContent.Text = dr["Content"].ToString();
            this.lblReadCount.Text = dr["ReadCount"].ToString();
            this.lblPostIP.Text = dr["PostIP"].ToString();
           
        }
        dr.Close();
        con.Close();       
    }
    protected void btnModifty_Click(object sender, EventArgs e)
    {
        //수정 페이지로 현재 글의 번호 값 넘김
        string strUrl = String.Empty;
        strUrl = "./Modify.aspx?Num=" + Request["Num"];
        Response.Redirect(strUrl);
    }
    protected void btnDelete_Click(object sender, EventArgs e)
    {
        //삭제된 페이지로 현재 글의 번호 값 넘김
        Response.Redirect(String.Format
                       ("Delete.aspx?Num={0}", Request["Num"]));
    }
    protected void btnList_Click(object sender, EventArgs e)
    {
        //리스트 페이지로 이동
        Response.Redirect("./List.aspx");
    }
}







반응형
posted by Magic_kit