블로그 이미지
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 29 30 31

Category

Recent Post

Recent Comment

Archive

2009. 10. 15. 11:59 .Net Project/ASP.NET 3.5 Sp1
반응형
 Upload/Modify.Cs

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

<!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>글 수정</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>    
        이름 :
        <asp:TextBox ID="txtName" runat="server"></asp:TextBox><br />
        이메일 :
        <asp:TextBox ID="txtEmail" runat="server"></asp:TextBox><br />
        홈페이지 :
        <asp:TextBox ID="txtHomepage" runat="server"></asp:TextBox><br />
        제목 :
        <asp:TextBox ID="txtTitle" runat="server"></asp:TextBox><br />
        내용 :
        <asp:TextBox ID="txtContent" runat="server"
                TextMode="MultiLine" Columns="20" Rows="5"></asp:TextBox><br />
        파일첨부 :
        <asp:FileUpload ID="ctlFileName" runat="server" />
        <asp:HiddenField ID="hidFileName" runat="server" />
        <asp:HiddenField ID="hidFileSize" runat="server" />
        <br />
        인코딩 :
        <asp:RadioButtonList ID="lstEncoding" runat="server"
            RepeatDirection="Horizontal"
            RepeatLayout="Flow">
            <asp:ListItem Selected="true">Text</asp:ListItem>
            <asp:ListItem>HTML</asp:ListItem>
            <asp:ListItem>Mixed</asp:ListItem>
        </asp:RadioButtonList>
        <br />
        암호 :
        <asp:TextBox ID="txtPassword" runat="server"
                TextMode="Password"></asp:TextBox><br />
        <br />
        <asp:LinkButton ID="btnModify" runat="server"
                onclick="btnModify_Click">수정</asp:LinkButton>
               
        <a href="View.aspx?Num=<%= Request["Num"] %>">취소</a><br />
        <asp:Label ID="lblError" runat="server" ForeColor="Red"></asp:Label>
       
    </div>
    </form>
</body>
</html>


 Upload/Modify.Cs

 using System;
using System.IO;

public partial class Upload_Modify : 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) //***** 처음 로드할 때만 예전 데이터 읽어오기
            {
                DisplayData();
            }
        }
    }
    private void DisplayData()
    {
        UploadEntity ue = new UploadEntity();
        UploadBiz ub = new UploadBiz();
        ue = ub.ViewUpload(Convert.ToInt32(Request["Num"]));

        // 각각의 컨트롤에 바인딩
        txtName.Text = ue.Name;
        txtEmail.Text = ue.Email;
        txtTitle.Text = ue.Title;
        txtHomepage.Text = ue.Homepage;
        txtContent.Text = ue.Content;

        // 수정 페이지에서 추가
        hidFileName.Value = ue.FileName;
        hidFileSize.Value = ue.FileSize.ToString();

        // 예전 인코딩에 따른 라디오버튼 리스트 선택
        if (ue.Encoding.ToLower() == "html")
        {
            lstEncoding.SelectedIndex = 1;
        }
        else if (ue.Encoding.ToLower() == "mixed")
        {
            lstEncoding.SelectedIndex = 2;
        }
        else
        {
            lstEncoding.SelectedIndex = 0; // 기본값
        }
    }
    protected void btnModify_Click(object sender, EventArgs e)
    {
        // 파일 업로드
        string strDirectory = Server.MapPath(".") + "
\\files\\"; //
        string strFileName = String.Empty;
        int intFileSize = 0;
        if (!String.IsNullOrEmpty(ctlFileName.FileName))
        { // 첨부된 파일이 있다면,       
            // 파일명 추출
            strFileName =
            // 파일명 중복처리 필요
            UploadUtil.GetFilePath(strDirectory, ctlFileName.FileName); 
          
            // (경로 + 파일명)으로 저장 실행
            ctlFileName.PostedFile.SaveAs
                             (Path.Combine(strDirectory, strFileName));
            intFileSize = ctlFileName.PostedFile.ContentLength; // 파일사이즈
        }
        else
        {
            strFileName = hidFileName.Value;
            intFileSize = Convert.ToInt32(hidFileSize.Value);
        }

        // DB 저장
        UploadBiz ub = new UploadBiz();

        UploadEntity ue = new UploadEntity();
        ue.Num = Convert.ToInt32(Request["Num"]);
        ue.Name = txtName.Text;
        ue.Email = txtEmail.Text;
        ue.Title = txtTitle.Text;
        //ue.PostIP = Request.UserHostAddress;
        ue.Content = txtContent.Text;
        ue.Password = txtPassword.Text;
        ue.Encoding = lstEncoding.SelectedValue;
        ue.Homepage = txtHomepage.Text;
        ue.FileName = strFileName; // 변경...
        ue.FileSize = intFileSize; // 변경...
        ue.ModifyDate = DateTime.Now;
        ue.ModifyIP = Request.UserHostAddress;

        int result = ub.ModifyUpload(ue);
        if (result == -1)
        {
            lblError.Text = "암호가 틀립니다.";
        }
        else
        {
            // 상세보기로 이동
            Response.Redirect("View.aspx?Num=" + Request["Num"]);
        }
    }
}






반응형
posted by Magic_kit