Taeyo's ASP.NET v1.0 with C# ¿ÀÅ»ÀÚ º¸°í

   º»¹® ÃÖÃÊ ÀÛ¼ºÀÏ : 2003³â 03¿ù 03ÀÏ
   º»¹® ÃÖÁ¾ ¼öÁ¤ÀÏ : 2005³â 08¿ù 29ÀÏ

   ÀÛ¼ºÀÚ : Taeyo(±è Å¿µ)
   ÆíÁýÀÚ : Taeyo(±è Å¿µ)

¾È³çÇϼ¼¿ä? taeyoÀÔ´Ï´Ù.

´ÙÀ½Àº Taeyo's ASP.NET v1.0 with C# Ã¥¿¡¼­ ¹ß°ßµÈ ¿ÀÅ»ÀÚ Á¤º¸ÀÔ´Ï´Ù.

ÁøÀÛ¿¡ Á¤¸®Çؼ­ ¿Ã·È¾î¾ß ÇÏ´Â °ÍÀ» ÀÌÁ¦¼­¾ß Á¤¸®Çؼ­ ¿Ã¸®°Ô µÇ¾ú½À´Ï´Ù. ¸¹Àº ºÐµéÀÌ ¼­¿îÇØ ÇϼÌÀ½À» ³Ê¹«³ªµµ Àß ¾Ë±â¿¡ Á˼ÛÇÏ´Ù´Â ¸»¾¸¹Û¿¡´Â µå¸± ¸»¾¸ÀÌ ¾ø½À´Ï´Ù.

À̹ø °è±â¸¦ ÅëÇØ¼­ ¿©·¯ºÐÀÇ ÁúÃ¥°ú Á¶¾ðÀ¸·Î ¹Ý¼ºÇÏ´Â ½Ã°£À» °¡Á®º¸¾Ò½À´Ï´Ù. ´Ù¼Ò °Ç¹æÁ® Àֱ⵵ Çϰí, ´Ù¼Ò °ÔÀ»·¯Á® Àֱ⵵ ÇÑ Àú¸¦ ¹ß°ßÇϰí Âü ¸¹ÀÌ °¡½¿ÀÌ ¾ÆÆÍ½À´Ï´Ù. ±×·¡µµ, ÀÌ·¸°Ô ¾ÆÁ÷±îÁö °ü½ÉÀ» °¡Á®Áֽðí Á¤¹®ÀÏħÀ» ÇØ Áֽô ºÐµéÀÌ Àֱ⿡ Á¤¸»·Î °¨»çÇÏ°íµµ ÇູÇÕ´Ï´Ù.

¾ÕÀ¸·Î´Â ´õ¿í ´õ ³ë·ÂÇÏ´Â ¸ð½ÀÀ» º¸¿©µå¸± °ÍÀ» ¾à¼Óµå¸³´Ï´Ù
(ps : ¾î¼¸é Ã¥ÀÇ ´ÙÀ½ ¼â´Â ±³Á¤ÀÌ µÈ »óÅ·ΠÃâÆÇÀÌ °¡´ÉÇÒ µíµµ ÇÕ´Ï´Ù. ÀÌ¿¡ ´ëÇÑ Á¤º¸´Â Â÷ÈÄ ½ÇÁ¦·Î ±×·¸°Ô µÉ °æ¿ì ¾÷µ¥ÀÌÆ® Çϵµ·Ï ÇϰڽÀ´Ï´Ù)

¸¸ÀÏ, º°µµÀÇ DOC ÆÄÀÏ·Î ´Ù¿î·Îµå ¹Þ°íÀÚ ÇϽŴٸé Ŭ¸¯ÇϽʽÿÀ. [DOWNLOAD]

º¯°æµÇ¾îÁ®¾ß ÇÏ´Â ±¸¿ªÀÇ ÄÚµå´Â ÆÄ¶õ»öÀ¸·Î Ç¥½ÃÇØ µÎ¾ú½À´Ï´Ù.

p 180 : .NET Framework 1.1 ¹öÀü¾÷À¸·Î ÀÎÇÑ Â÷ÀÌ

p 180¿¡ ³ª¿ÍÀÖ´Â ¿¹Á¦¸¦ ½ÇÇàÇÏ´Ù º¸¸é Password ÄÁÆ®·ÑÀÇ Changed À̺¥Æ®°¡ ¹ß»ýÇÏÁö ¾Ê´Â °ÍÀ» º¸½Ç ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù. ÀÌ´Â ±× À̺¥Æ®°¡ ¹ß»ýÇÏÁö ¾Ê´Â °ÍÀÌ ¾Æ´Ï¶ó, º¸¾ÈÀûÀÎ ÀÌÀ¯·Î Password ÄÁÆ®·ÑÀÇ »óŰªÀÌ ÀúÀåµÇÁö ¾Êµµ·Ï .NET 1.1¿¡¼­ º¯°æÀÌ ÀÖ¾ú±â ¶§¹®ÀÔ´Ï´Ù.

Áï, Password ÄÁÆ®·ÑÀÇ »óŰªÀÌ ÀúÀåµÇÁö ¾Ê±â¿¡ ±× °ªÀ» ÀÔ·ÂÇÏÁö ¾ÊÀ¸¸é À̺¥Æ®°¡ ÀϾÁö ¾Ê´Â °Íó·³ º¸ÀÏ ¼ö ÀÖ½À´Ï´Ù. Á÷Á¢ Password¸¦ º¯°æÇÏ´Â °æ¿ì¿¡´Â À̺¥Æ®°¡ ¹ß»ýÇÒ °ÍÀÔ´Ï´Ù.

p 125

¼Ò½º Áß ¿ÀÅ»ÀÚ¸¦ ¹Ù·ÎÀâ½À´Ï´Ù

    public class AnotherStart : Page
    {
        protected Label lblMsg;
        public void btnSubmit_OnClick(Object sender, EventArgs e)         {
            lblMsg.Text = "Good morning ~~ ASP.NET !!";
        }
    }

p 153

»ó´ÜÀÇ ÄÁÆ®·Ñ ¼Ó¼º, À̺¥Æ® Ç¥¸¦ ´ÙÀ½°ú °°ÀÌ ¹Ù·ÎÀâ½À´Ï´Ù.

ÄÁÆ®·Ñ ¼Ó¼º À̺¥Æ®
  LinkButton   CommandName, CommandArgument, Text, CausesValidation   OnClick, OnCommand
  ImageButton   CommandName, CommandArgument, Text, CausesValidation   OnClick, OnCommand
.. ÀÌÇÏ »ý·« ..

p 196

±×¸² 6-56¸¦ ¹Ù·ÎÀâ½À´Ï´Ù

À§ÀÇ ±×¸²¿¡¼­ txtPassword_TextChanged() ¶ó´Â ºÎºÐÀº txtSingle_TextChanged() ·Î Ç¥±âµÇ´Â °ÍÀÌ ¿Ã¹Ù¸¨´Ï´Ù.

p 198

¼Ò½º Áß ´ë,¼Ò¹®ÀÚ¸¦ ¹Ù·ÎÀâ½À´Ï´Ù

    private void Page_Load(object sender, System.EventArgs e)
    {
        // ¿©±â¿¡ »ç¿ëÀÚ Äڵ带 ¹èÄ¡ÇÏ¿© ÆäÀÌÁö¸¦ ÃʱâÈ­ÇÕ´Ï´Ù.
        if(!Page.IsPostBack)
        {
            ... ÀÌÇÏ »ý·« ...

p 200 : ¿ÀÅ»ÀÚ

±×¸² 6-59 ¼³¸í Áß "bgColor ¼Ó¼º"Àº "BackColor ¼Ó¼º"À¸·Î ¹Ù·ÎÀâ¾Æ¾ß ÇÕ´Ï´Ù.

p 230

ÇÏ´ÜÀÇ ÄÁÆ®·Ñ ¼Ó¼º¼³Á¤ Ç¥¸¦ ´ÙÀ½°ú °°ÀÌ ¹Ù·ÎÀâ½À´Ï´Ù.

TextBox   (ID)   txtPwd
  BorderStyle   Groove
TextBox   (ID)   txtPwdConfirm
  BorderStyle   Groove
Button   (ID)   Button1
  Text   Submit
CompareValidator   (ID)   CompareValidator1
  ControlToValidate   txtPwdConfirm
  ControlToCompare   txtPwd
.. ÀÌÇÏ »ý·« ..

p 236

ÄÁÆ®·Ñ ¼Ó¼º¼³Á¤ Ç¥¸¦ ´ÙÀ½°ú °°ÀÌ ¹Ù·ÎÀâ½À´Ï´Ù.

CompareValidator   ID   CompareValidator3
  ControlToValidate   TextBox2
.. ÀÌÇÏ »ý·« ..

p 251

±×¸² 7-28À» ¹Ù·ÎÀâ½À´Ï´Ù

À§ÀÇ ±×¸²¿¡¼­ CheckGeneration() ºÎºÐÀº CheckEvenNumber() ·Î Ç¥±âµÇ´Â °ÍÀÌ ¿Ã¹Ù¸¨´Ï´Ù.

p 254

ÄÁÆ®·Ñ ¼Ó¼º¼³Á¤ Ç¥ÀÇ ÇÏ´ÜÀ» ´ÙÀ½°ú °°ÀÌ ¹Ù·ÎÀâ½À´Ï´Ù.

.. ÀÌ»ó »ý·« ..
RequiredFieldValidator   ControlToValidate   txtPwd
  ErrorMessage   * ºñ¹Ð¹øÈ£¸¦ ÀÔ·ÂÇØ ÁÖ¼¼¿ä
  Display   Static
ValidationSummary   HeaderText   ´ÙÀ½ »çÇ×µéÀ» È®ÀÎÇØ ÁÖ¼¼¿ä
.. ÀÌÇÏ »ý·« ..

p 279

¼Ò½º Áß ¿ÀÅ»ÀÚ¸¦ ¹Ù·ÎÀâ½À´Ï´Ù("¸¦ Ãß°¡ÇØ¾ß ÇÔ)

    for(int i=0; i < ListBox1.Items.Count; i++)
    {
        if(ListBox1.Items[i].Selected == true)
            txt += ListBox1.Items[i].Text + " (" + ListBox1.Items[i].Value + ")";
    }

p 309

¼Ò½º Áß ´ë,¼Ò¹®ÀÚ¸¦ ¹Ù·ÎÀâ½À´Ï´Ù

    public string Url
    {
        set {HyperLink1.NavigateUrl = value;}
    }

    public string Text
    {
        set {HyperLink1.Text = value;}
    }

    .. ÀÌÇÏ »ý·« ..

p 319

¼Ò½º Áß ¿ÀÅ»ÀÚ¸¦ ¹Ù·ÎÀâ½À´Ï´Ù

    private string headerBgColor = "black";
    private string headerForeColor = "white";

p 334

ÆäÀÌÁö¿¡¼­ Á¦¸ñÀÇ ¿ÀÅ»ÀÚ¸¦ ¹Ù·ÎÀâ½À´Ï´Ù

03 Session °³Ã¼(HttpSessionState Ŭ·¡½º)

p 352

ÇÑÀÚ¸¦ À߸ø Ç¥±âÇÑ ºÎºÐÀ» ¹Ù·ÎÀâ½À´Ï´Ù(âÇÇÇϳ׿° ¤Ì¤Ì)

¸¸ÀÏ, Response °³Ã¼°¡ °¡Áø ¸ðµç ±â´ÉÀ» »ìÆìº¸°í ½Í´Ù¸é [VS.NET µµ¿ò¸»]À» ÀÌ¿ëÇØ º¸±â ¹Ù¶õ´Ù. ±×¸®°í, °³ÀÎÀûÀ¸·Î´Â ÀÌ °³Ã¼ÀÇ »ç¿ë¹ýÀ» À§Çؼ­ ASP ¼­ÀûÀ» Çѹø Âü°íÇØ º¸´Â °Íµµ µµ¿òÀÌ µÇ¸®¶ó »ý°¢ÇÑ´Ù. ¿Â°íÁö½Å(è®Íºò±ãæ)À̶ó´Â ¸»À» ÇѹøÂë ¶°¿Ã¸®¸é¼­ ¸»ÀÌ´Ù

p 402

ÆäÀÌÁö Áß [TIP]À» ¹Ù·ÎÀâ½À´Ï´Ù(ù¹øÂ° ÁÙ)

±×·¯¹Ç·Î, FileEx02.aspx ¿¹Á¦¿¡¼­ FileInfo Ŭ·¡½º¸¦ »ý¼ºÇϰí, CreateText ¸Þ¼­µå¸¦ ÅëÇØ¼­ StreamWriter °³Ã¼¸¦ ¾ò´Â...

p 434

ÆäÀÌÁö Áß°£¼Ò½º¿¡ Äڵ带 Ãß°¡ÇÕ´Ï´Ù

    protected TableUserControl TableUC;

    private void Page_Load(object sender, System.EventArgs e)
    {
        .. ÀÌÇÏ »ý·« ..

p 440

¼Ò½º¿¡ Äڵ带 Ãß°¡ÇÕ´Ï´Ù

    <%@ Page language="c#" Codebehind="main.aspx.cs" AutoEventWireup="false"
             Inherits="TaeyoAspNet.Navigator.main" %>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
    <HTML>
        <HEAD>
            <title>main</title>
            <LINK href="../Style.css" type="text/css" rel="stylesheet">
        </HEAD>
        <body>
            <form id="main" method="Post" runat="server" action="main.aspx" >
                <table width="100%" bgColor="white" border="0">
                ...

p 442

¼Ò½º Áß ´ë,¼Ò¹®ÀÚ¸¦ ¹Ù·ÎÀâ½À´Ï´Ù

    private string virPath, strPath;

    private void Page_Load(object sender, System.EventArgs e)
    {
        .. ÀÌÇÏ »ý·« ..

p 453 : .NET Framework 1.1 ¹öÀü¾÷À¸·Î ÀÎÇÑ Â÷ÀÌ

¼Ò½º Áß [üũÆ÷ÀÎÆ® 3]¸¦ ¹Ù·ÎÀâ½À´Ï´Ù

¼Ò½º¿¡¼­´Â Path.Combine() ¸Þ¼­µå¸¦ ¼Ò°³Çϰí ÀÖ½À´Ï´Ù¸¸, .NET 1.1ºÎÅÍ ÀÌ ¸Þ¼­µå´Â µÎ °æ·Î¸¦ °áÇÕÇÒ °æ¿ì, À©µµ¿ìÁî °æ·Î·Î °áÇÕÀ» ÇÕ´Ï´Ù. ±×·¯¹Ç·Î, °æ·ÎÀÇ °á°ú°¡ /TaeyoAspNet/Images °¡ ¾Æ´Ñ /TaeyoAspNet\Images°¡ ³ª¿Ã ¼ö ÀÖ´Ù´Â °ÍÀÔ´Ï´Ù. ±×·¯ÇÑ ÀÌÀ¯·Î, ¼Ò½º¸¦ ´ÙÀ½°ú °°ÀÌ º¸°­ÇϽñ⠹ٶø´Ï´Ù.(¼Ò½º ±æÀÌ °ü°è»ó º¯¼ö¸íÀ» p·Î ÇÏ¿´À¸³ª ÀÌ´Â ¿©·¯ºÐÀÇ ÆíÀÇ¿¡ µû¶ó º¯°æÇϼŵµ µË´Ï´Ù)

string p = Path.Combine(virPath, fol.Name);
p = p.Replace(Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar);
link.NavigateUrl = "main.aspx?Folder=" + p;

p 455

¼Ò½º Áß [üũÆ÷ÀÎÆ® 4]¸¦ ¹Ù·ÎÀâ½À´Ï´Ù

    long size = GetDirectorySize(fol.FullName);    //üũÆ÷ÀÎÆ® 4
    td = new TableCell();
    td.Text = size.ToString() + " ¹ÙÀÌÆ®";
    ...

p 469

ÆäÀÌÁöÀÇ ÇÏ´Ü ¼Ò½º¸¦ ¹Ù·ÎÀâ½À´Ï´Ù

    int lastSlashIndex = virPath.LastIndexOf("/");
    string parentVirPath = virPath.Substring(0, lastSlashIndex);

    link = new HyperLink();
    link.NavigateUrl = "download.aspx?FilePath=" + virPath + "/" + file.Name;
    link.Text = " " + file.Name;

    td.Controls.Add(img);
    td.Controls.Add(link);
    tr.Cells.Add(td);

p 479, 481 : .NET Framework 1.1 ¹öÀü¾÷À¸·Î ÀÎÇÑ Â÷ÀÌ

ÆäÀÌÁöÀÇ ÇÏ´Ü ¼Ò½º¸¦ ¹Ù·ÎÀâ½À´Ï´Ù

    private void btnUpload_Click(object sender, System.EventArgs e)
    {
        //ÆÄÀÏÀ» ¾÷·ÎµåÇÒ °æ·ÎÀÇ ÁöÁ¤. strPath´Â ÇöÀç Æú´õÀÇ ¹°¸®ÀûÀÎ °æ·Î
        string dirPath = strPath;

        if(fileUpload.PostedFile.FileName != string.Empty)
        {
            try
            {
                ...

.NET 1.1ºÎÅÍ´Â ÆÄÀÏÀ» ÁöÁ¤ÇÏÁö ¾Ê¾Æµµ PostedFile °³Ã¼ÀÇ °ªÀÌ nullÀÌ ¾Æ´Õ´Ï´Ù. °í·Î, PostedFile°¡ nullÀÎÁö ¿©ºÎ¸¦ üũÇÏ´Â °ÍÀÌ ¾Æ´Ï¶ó ±× ÆÄÀÏÀÇ À̸§ÀÌ Á¸ÀçÇÏ´Â Áö¸¦ °Ë»çÇÏ´Â °ÍÀÌ ´õ È¿°úÀûÀÔ´Ï´Ù.

p 502 : .NET Framework 1.1 ¹öÀü¾÷À¸·Î ÀÎÇÑ Â÷ÀÌ

ÆäÀÌÁö Áß Ç¥ÀÇ ÇÏ´Ü ³»¿ëÀ» ¹Ù·ÎÀâ½À´Ï´Ù(.NET 1.1¿¡¼­ º¯°æµÈ ºÎºÐÀÔ´Ï´Ù)

.. ÀÌ»ó »ý·« ..
timeout   ÀÎÁõ Äí۰ªÀÌ Áö¼ÓµÉ ½Ã°£À» ºÐ ´ÜÀ§·Î ÁöÁ¤ÇÑ´Ù. ±âº»°ªÀº 30ºÐÀÌ´Ù.
path   ÄíŰÀÇ °æ·Î¸¦ ÁöÁ¤ÇÑ´Ù. ±âº»°ªÀº ½½·¡½Ã(/)ÀÌ´Ù.

p 680

ÆäÀÌÁö Áß [NOTE]¸¦ ¹Ù·ÎÀâ½À´Ï´Ù

À¥ Æû ÆäÀÌÁö ÀÚü¿¡ ³×ÀÓ½ºÆäÀ̽º¸¦ ÂüÁ¶ÇÒ °æ¿ì¿¡´Â <%@ Import NameSpace="³×ÀÓ½ºÆäÀ̽º¸í" %>¸¦ »ç¿ëÇÑ´Ù.

p 689

ÆäÀÌÁöÀÇ ÇÏ´Ü ¼Ò½º¸¦ ¹Ù·ÎÀâ½À´Ï´Ù.(ÇÔ¼ö ¾È¿¡ ÀÖ´ø Äڵ带 ¹ÛÀ¸·Î ²¨³À´Ï´Ù)

    private void Page_Load(object sender, System.EventArgs e)
    {
        if(!IsPostBack)
            BindDataList();
    }

    private string connectStr = "Server=(local); database=Pubs; user id=sa";

    private void BindDataList()
    {
        SqlConnection Con = new SqlConnection(conectStr);

        ... ÀÌÇÏ »ý·« ...

p 690

ÆäÀÌÁöÀÇ ÇÏ´Ü ¼Ò½º¸¦ ¹Ù·ÎÀâ½À´Ï´Ù.

    <asp:DataList id="DataList1" runat="server" GridLines="Both" Width="400">
        <HeaderTemplate>
            <b>ÀÌ ´ÞÀÇ Ãßõµµ¼­</b>
        </HeaderTemplate>
        <ItemTemplate>
          <div>
            <img src='images/Title-<%# DataBinder.Eval(Container.DataItem, "title_id")%>.gif'
                hspace="10" align="left" />
            Á¦¸ñ : <b><%# DataBinder.Eval(Container.DataItem, "title") %></b><br />
            °¡°Ý : <%# DataBinder.Eval(Container.DataItem, "price", "$ {0}") %><br />
              <%# DataBinder.Eval(Container.DataItem, "notes") %>
          </div>

p 713

ÆäÀÌÁöÀÇ ÇÏ´ÜÀÇ ¹®ÀåÀ» ¹Ù·ÎÀâ½À´Ï´Ù

| CancelCommand |

ÀÌÁ¦ CancelCommand ºÎºÐÀ» Çѹø ´Ù·ç¾î º¸µµ·Ï ÇÏÀÚ. ÀÌÀü°ú °°Àº ¹æ¹ýÀ¸·Î À¥ Æû µðÀÚÀÎ ¸ðµå·Î °¡¼­ DataList¸¦ ¼±ÅÃÇÑ ´ÙÀ½ [¼Ó¼º â]¿¡¼­ ¹ø°³ ¸ð¾çÀÇ ¹öưÀ» Ŭ¸¯ÇÑ µÚ, Ãâ·ÂµÇ´Â À̺¥Æ®µé Áß¿¡¼­ CancelCommand¸¦ ¼±ÅÃÇϰí, ¿ìÃø Ä­¿¡¼­ ´õºí Ŭ¸¯À» ÇÏÀÚ. ±×·¯¸é, ÄÚµå ºñÇÏÀÎµå ÆäÀÌÁö·Î À̵¿µÇ¸ç, ÀÚµ¿À¸·Î DataList1_CancelCommand À̺¥Æ® 󸮱Ⱑ »ý¼ºµÇ¾îÁ® ÀÖÀ» °ÍÀÌ´Ù. ±× ±¸¿ª¿¡ ´ÙÀ½°ú °°Àº Äڵ带 ÀÛ¼ºÇØ º¸ÀÚ.

p 822

ÆäÀÌÁöÀÇ Áß°£ÀÇ ¼Ò½º¸¦ ¹Ù·ÎÀâ½À´Ï´Ù.

    if(reader.Read())
    {
        lblName.Text = reader["name"].ToString();
        lblMail.Text = reader["email"].ToString();
        lblTitle.Text = reader["title"].ToString();
        lblInputDate.Text = reader["inputDate"].ToString();
        lblReadCount.Text = reader["readCount"].ToString();

        lblContent.Text = reader["content"].ToString();
        string content = reader["content"].ToString();
        if(content != null)
            lblContent.Text = content.Replace("\r", "<BR>");
    }
    else
    {
        ...

p 840

ÆäÀÌÁöÀÇ »óÀÇ ¼Ò½º¸¦ ¹Ù·ÎÀâ½À´Ï´Ù(º¯¼ö ÃʱâÈ­¸¦ ÇØÁֽʽÿÀ)

    private string seq = string.Empty ;

    private void Page_Load(object sender, System.EventArgs e)
    {
        ...

p 850

ÆäÀÌÁöÀÇ »óÀÇ ¼Ò½º¸¦ ¹Ù·ÎÀâ½À´Ï´Ù(°ýÈ£ Ãß°¡)

    string refer = Request.UrlReferrer.ToString();
    string ServerPath = Request.Url.ToString();
    ServerPath = ServerPath.Substring(0, ServerPath.LastIndexOf("/"));

    if(refer.IndexOf(ServerPath) == -1)
        Response.Redirect("List.aspx");

p 853

ÆäÀÌÁöÀÇ »ó´ÜÀÇ ¹®ÀåÀ» ¹Ù·ÎÀâ½À´Ï´Ù.

(2) <PagerStyle>¸¦ ÆíÁýÇÏ¿©, ÆäÀÌ¡ÀÇ Ãâ·Â µðÀÚÀÎÀ» ÁöÁ¤ÇÑ´Ù.

p 854

ÆäÀÌÁöÀÇ ÇÏ´ÜÀÇ Á¦¸ñ ¹®ÀåÀ» ¹Ù·ÎÀâ½À´Ï´Ù.

| <PagerStyle>ÀÇ ÆíÁý|

p 1014

ÆäÀÌÁö Áß [NOTE]¸¦ ¹Ù·ÎÀâ½À´Ï´Ù

DROP PROCEDURE UP_SELECTMemberBoardCount

p 1031

ÆäÀÌÁöÀÇ Áß°£ÀÇ ¼Ò½º¸¦ ¹Ù·ÎÀâ½À´Ï´Ù.

    private void Page_Load(object sender, System.EventArgs e)
    {
        seq = Request.QueryString["seq"];
        if(seq == null)
            Response.Redirect("list.aspx");

        if(!IsPostBack)
        {
            LoadData();

            //»ç¿ëÀÚ¸¦ È®ÀÎÇÏ¿©, ºÎÀûÀýÇÑ »ç¿ëÀÚ´Â list.aspx·Î ºÐ±â½ÃŲ´Ù
            if(User.Identity.Name != lblName.Text)
                Response.Redirect("list.aspx");
    }

p 1035

±×¸² 24-23À» ¹Ù·ÎÀâ½À´Ï´Ù

À§ÀÇ ±×¸²¿¡¼­ UP_UPDATEMemberBoard ¶ó´Â ºÎºÐÀº UP_DELETEMemberBoard ·Î Ç¥±âµÇ´Â °ÍÀÌ ¿Ã¹Ù¸¨´Ï´Ù.

p 1060

ÆäÀÌÁöÀÇ Áß°£ÀÇ ¹®ÀåÀ» ¹Ù·ÎÀâ½À´Ï´Ù.

ÀÌ·¯ÇÑ ¹®Á¦°¡ ¹ß»ýÇÏ´Â ÀÌÀ¯´Â ÇöÀç Content.aspx À¥ Æû¿¡ Á¸ÀçÇÏ´Â Ä¿¸àÆ® ÀԷ¿ë TextBox ÄÁÆ®·ÑÀÌ RequiredFieldValidator ÄÁÆ®·Ñ·Î ÀÎÇØ Çʼö ÀÔ·Â ÄÁÆ®·ÑÀÌ µÇ¾îÁ® Àֱ⠶§¹®ÀÌ´Ù. ´Ù½Ã ¸»ÇØ, ÇöÀçÀÇ ÆûÀ» Æ÷½ºÆ®¹é Çϰųª ¼­ºê¹Ô ÇÒ °æ¿ì ¹«Á¶°Ç À¯È¿¼º °Ë»ç ÄÁÆ®·ÑÀÌ µ¿ÀÛÇÏ¿© ÆûÀÌ Àü¼ÛÁ¶Â÷ µÇ¾îÁöÁö ¾Ê±â ¶§¹®¿¡ ¹®Á¦°¡ ¹ß»ýÇÏ´Â °ÍÀÌ´Ù. ±×·¸´Ù¸é, ÀÌ ¹®Á¦´Â ¾î¶»°Ô Ç®¾î°¡³ª¾ß ÇÒ °ÍÀΰ¡?

¹®Á¦ÀÇ ÇØ°á ¹æ¹ýÀº °£´ÜÇÏ´Ù. [¼öÁ¤] À̳ª [»èÁ¦] ¹öưÀÌ ´­·ÈÀ» °æ¿ì¿¡´Â À¯È¿¼º °Ë»ç¸¦ ¼öÇàÇÏÁö ¾Ê°Ô ÇÏ¸é µÇ´Â °ÍÀÌ´Ù. ±×¸®°í, À̸¦ À§Çؼ­ ¹öư ÄÁÆ®·ÑµéÀº CausesValidation À̶ó´Â ¼Ó¼ºÀ» Á¦°øÇϰí ÀÖ´Ù. CausesValidationÀÇ ±âº» °ªÀº true À̸ç, ±×·¸±â¿¡ À¥ Æû À§¿¡ ³õÀÎ ¹öư ÄÁÆ®·ÑÀÌ Å¬¸¯µÉ °æ¿ì´Â ¾ðÁ¦³ª À¯È¿¼º °Ë»ç¸¦ °ÅÄ¡°Ô µÈ´Ù(¸¸ÀÏ, À¯È¿¼º °Ë»ç°¡ Ãß°¡µÇ¾î ÀÖ´Ù¸é). ÇÏÁö¸¸, Áö±Ý°ú °°ÀÌ Æ¯Á¤ ¹öưÀÌ Å¬¸¯µÇ¾úÀ» °æ¿ì¿¡ ÇÑÇØ¼­´Â À¯È¿¼º °Ë»ç¸¦ ¼öÇàÇÏ°í ½ÍÁö ¾Ê´Ù¸é, ±× ¹öưÀÇ CausesValidation ¼Ó¼ºÀÇ °ªÀ» false·Î ÁöÁ¤ÇØ ÁÖ¸é µÈ´Ù. ±×·¯¸é, ÇØ´ç ¹öưÀÌ Å¬¸¯µÇ¾úÀ» °æ¿ì¿¡´Â Æû¿¡ À¯È¿¼º °Ë»ç°¡ ÀÖ´Ù ÇÏ´õ¶óµµ ±× °Ë»ç¸¦ ¹«½ÃÇÏ°í ÆûÀ» Àü¼ÛÇÏ°Ô µÇ´Â °ÍÀÌ´Ù.

±×·¸´Ù¸é, ÀÌ »ç½ÇÀ» ±â¹ÝÀ¸·Î Content.aspx ¿¡¼­ [¼öÁ¤] ¹öư°ú [»èÁ¦] ¹öưÀÇ CausesValidation ¼Ó¼ºÀÇ °ªÀ» false·Î º¯°æÇØ º¸µµ·Ï ÇÏÀÚ.

p 1068

ÆäÀÌÁöÀÇ ÇÏ´ÜÀÇ ¼Ò½º¸¦ ¹Ù·ÎÀâ½À´Ï´Ù.(,¸¦ Á¦°ÅÇØ¾ß ÇÕ´Ï´Ù)

    CREATE  PROCEDURE UP_DELETEComment
        @code    INT
    AS
        DELETE FROM MemberBoard_Comment
        WHERE code = @code

p 1069

ÆäÀÌÁöÀÇ Áß°£ÀÇ ¼Ò½º¸¦ ¹Ù·ÎÀâ½À´Ï´Ù.

    ALTER  PROCEDURE UP_DELETEComment
        @code    INT,
        @seq     INT
    AS
        UPDATE MemberBoard
        SET commentCount = commentCount - 1
        WHERE Seq = @Seq

        DELETE FROM MemberBoard_Comment
        WHERE code = @code

p 1080

ÆäÀÌÁöÀÇ Áß°£ÀÇ ¹®ÀåÀ» ¹Ù·ÎÀâ½À´Ï´Ù.

HTTP¿Í XMLÀÇ °áÇÕÀÌ À¥ ¼­ºñ½º¿¡ È¿°úÀûÀ̶ó »ç½ÇÀº »õ·Î¿î ¿ë¾îÀÎ SOAPÀ» ÃâÇö½ÃÄ×´Ù. SOAP(Simple Object Access Protocol, '¼Ù' À̶ó°í ¹ßÀ½ÇÑ´Ù)Àº HTTP¿Í XMLÀ» ÀÌ¿ëÇØ¼­ µ¥ÀÌÅ͸¦ ÀÎÄÚµùÇÏ¿© Àü¼ÛÇÏ´Â »õ·Î¿î Á¾·ùÀÇ ÇÁ·ÎÅäÄÝÀÌ´Ù.

p 1096

±×¸² 25-24À» ¹Ù·ÎÀâ½À´Ï´Ù

private void Button1_Click(object sender, System.eventArgs e)¶õ ¸Þ¼­µå°¡ µÎ ¹ø Ç¥±âµÇ¾îÁ® ÀÖ¾ú´ø ºÎºÐÀ» Çϳª¸¸ Ç¥±âÇÏ´Â °ÍÀ¸·Î ¹Ù·ÎÀâ¾Ò½À´Ï´Ù