4. ±Ûº¸±â - View.aspx
ÆäÀÌÁö Ãß°¡/ÄÁÆ®·Ñ ¼³Á¤
Áö³ °Á¿¡¼± °Ô½ÃÆÇÀ» ¸ñ·ÏÀ¸·Î Ç¥½ÃÇØÁÖ´Â ÆäÀÌÁö ( List.aspx ) ¸¦ Çß¾ú½À´Ï´Ù. ¸ñ·Ï ÆäÀÌÁö¿¡¼ Á¦¸ñÀ» Ŭ¸¯Çϸé, ÇØ´ç ±ÛÀÇ ³»¿ëÀ»
Ç¥½ÃÇØ ÁÖ¾î¾ß ÇÒÅÙµ¥¿ä, À̹ø °Á°¡ ±ÛÀÇ ³»¿ëÀ» È®ÀÎÇÏ´Â ÆäÀÌÁöÀÎ, View.aspx ¸¦ ¸¸µé Â÷·ÊÀÔ´Ï´Ù.
¼Ö·ç¼Ç Ž»ö±â¿¡¼ Áö³ List.aspx Ãß°¡ÇÒ¶§¿Í °°Àº ¹æ½ÄÀ¸·Î À¥ Æû ÆäÀÌÁö¸¦ Çϳª Ãß°¡Çϰí¿ä, À̸§À» View.aspx·Î ÇÕ´Ï´Ù. ±×¸®°í
¸¶Âù°¡Áö·Î ÆäÀÌÁö ·¹À̾ƿôÀ» FlowLayoutÀ¸·Î ÇÕ´Ï´Ù.
±×¸®°í HTML ¶õ¿¡¼ TableÀ» ²ø¾î´Ù ³õ°í Çà/¿À» Á¶Á¤Çϸé¼, Web Forms ¶õ¿¡¼ Label ³×°³, HyperLink ³×°³¸¦
²ø¾î´Ù ³õ½À´Ï´Ù. ¼Ó¼ºÀº ´ÙÀ½ ó·³ ¹Ù²ß´Ï´Ù.
ÄÁÆ®·Ñ |
(ID) |
Text |
NavigateUrl |
¼³¸í |
Label |
lblWriter |
(°ø¹é) |
(ÀԷ¾ÈÇÔ) |
±Û¾´ÀÌ |
Label |
lblWriteDate |
(°ø¹é) |
(ÀԷ¾ÈÇÔ) |
±Û¾´ÀÏÀÚ/Á¶È¸¼ö |
Label |
lblTitle |
(°ø¹é) |
(ÀԷ¾ÈÇÔ) |
±ÛÁ¦¸ñ |
Label |
lblContent |
(°ø¹é) |
(ÀԷ¾ÈÇÔ) |
±Û³»¿ë |
HyperLink |
lnkPrev |
(°ø¹é) |
(ÀԷ¾ÈÇÔ) |
ÀÌÀü±Û ¸µÅ© |
HyperLink |
lnkNext |
(°ø¹é) |
(ÀԷ¾ÈÇÔ) |
´ÙÀ½±Û ¸µÅ© |
HyperLink |
lnkModify |
[¼öÁ¤] |
(ÀԷ¾ÈÇÔ) |
±Û¼öÁ¤ ¸µÅ© |
HyperLink |
lnkDelete |
[»èÁ¦] |
(ÀԷ¾ÈÇÔ) |
±Û»èÁ¦ ¸µÅ© |
HyperLink |
lnkList |
[¸ñ·ÏÀ¸·Î] |
List.aspx |
±Û¸ñ·ÏÀ¸·Î ¸µÅ© |
Ç¥¿¡¼ »¡°£»ö ¹ÙÅÁÀ¸·Î µÈ °ÍÀÌ ÀÔ·ÂÇØ¾ß ÇÒ ºÎºÐÀÔ´Ï´Ù. ´ÙÀ½ ±×¸²Ã³·³ ¸¸µì´Ï´Ù.

µðÀÚÀΰú °ü·ÃµÈ ºÎºÐÀÔ´Ï´Ù¸¸, lblContent ÀÚ¸®¿¡¼ ¿À¸¥ÂÊ Å¬¸¯, ¼Ó¼º ¼±ÅÃÇØ¼ '<TD> ¼Ó¼ºÆäÀÌÁö' â¿¡¼ Å©±â¶õ ³ôÀ̸¦ 300À¸·Î
ÁÖ°í, ¸ÂÃã¶õ ¼¼·Î¸¦ top À¸·Î ÁÖ¸é ±×¸²Ã³·³ ³»¿ë Ç¥½ÃÇÏ´Â ¶õÀÌ ³Ð¾îÁý´Ï´Ù. ( ¹°·Ð, HTML ¸ðµå¿¡¼ ÇØ´ç ¶õÀÇ <td> ÅÂ±× Ã£¾Æ¼
<td valign=top height=300>À̶ó ÀÔ·ÂÇØµµ µË´Ï´Ù ) ÀÌ·¸°Ô ÇÏ¸é ±ÛÀÌ ¸îÁÙ ¾ÈµÇµµ ³Ð°Ô ³ª¿Í¼ Àú´Â ÁÁ´õ±º¿ä.
DB°ü·Ã °³Ã¼ ¼³Á¤
À̰ÍÀ¸·Î ±Û¾²±â ÆäÀÌÁö, ȸ鿡 º¸À̱â À§ÇØ ÇÊ¿äÇÑ ÄÁÆ®·ÑµéÀº ¸ðµÎ °®Ãá ¼ÀÀ̰í, DB¿¡¼ ÇØ´ç ±ÛÀ» °¡Á®¿Ã DB°ü·Ã °³Ã¼¸¦ ¼³Á¤ÇÒ Â÷·ÊÀÔ´Ï´Ù.
µµ±¸»óÀÚ µ¥ÀÌÅÍ ¶õ¿¡¼ SqlConnection Çϳª¿Í SqlCommand ³×°³¸¦ ²ø¾î´Ù ³õ½À´Ï´Ù.
SqlConnectionÀº DB¿¬°áÀ» À§ÇÑ °´Ã¼ÀÔ´Ï´Ù. List.aspx °æ¿ì¿Í ¶È°°ÀÌ ¼³Á¤ÇÕ´Ï´Ù. (Name) À» dbConnectionÀ¸·Î
Çϰí, Dynamic Properties ¶õ È®Àå, ConnectionString ¶õÀÇ [...] ¹öưÀ» Ŭ¸¯, 'µ¿Àû ¼Ó¼º' â¿¡¼ '±¸¼º
ÆÄÀÏÀÇ Å°¿¡ ¼Ó¼º ¸ÅÇÎ' üũ¹Ú½º¸¦ ¼±ÅÃÇØ¼ dbConnection.ConnectionString Ű¿¡ ¸ÅÇÎÇϰí, 'µ¥ÀÌÅÍ'¶õÀÇ
ConnectionString¿¡ °ªÀÌ ÀÚµ¿À¸·Î µé¾î°¡´ÂÁö È®ÀÎÇÕ´Ï´Ù.
SqlCommand ´Â ±Û ³»¿ëÀ» °¡Á®¿À±â À§ÇѰÍ, ±ÛÀÇ Á¶È¸¼ö¸¦ Çϳª Áõ°¡½Ã۱â À§ÇÑ °Í, ÀÌÀü±Û/´ÙÀ½±Û Á¤º¸¸¦ °¡Á®¿À´Â °Í µîÀÔ´Ï´Ù. ³×°³
¸ðµÎ ¼³Á¤ÇÏ´Â ¹æ¹ýÀº µ¿ÀÏÇϰí, SQL¹® ( CommandText ) ºÎºÐ¸¸ ´Ù¸¨´Ï´Ù.
ù¹øÂ° SqlCommand ´Â Å×ÀÌºí¿¡¼ ÇØ´ç ±ÛÀÇ ³»¿ëÀ» °¡Á®¿À±â À§ÇÑ °ÍÀÔ´Ï´Ù. ´ÙÀ½Ã³·³ ¼³Á¤ÇÕ´Ï´Ù.
-
(Name) : dbCommandGetArticle
-
Connection : dbConnection
-
CommandText :
select writer,email,title,mode,content,readed, writeDate
from cstVSBoard
where seq=@seq
-
Parameters : Çϳª Ãß°¡
ParameterName :@seq
SqlDbType : int
µÎ¹øÂ° SqlCommand ´Â ±ÛÀÇ Á¶È¸¼ö¸¦ Çϳª Áõ°¡½Ã۱â À§ÇÑ °ÍÀÔ´Ï´Ù.
¼¼¹øÂ°, ³×¹øÂ° SqlCommand ´Â ÀÌÀü±Û/´ÙÀ½±Û ¸µÅ©¸¦ À§ÇÑ °ÍÀÔ´Ï´Ù. ÀÌÀü±Û °¡Á®¿À´Â °ÍÀº ´ÙÀ½°ú °°½À´Ï´Ù.
´ÙÀ½±Û °¡Á®¿À´Â °ÍÀº ´ÙÀ½°ú °°½À´Ï´Ù.
DB°ü·Ã °´Ã¼µéµµ ¼³Á¤ÀÌ ³¡³µ½À´Ï´Ù.
¼Ò½º ÆíÁý
ÀÌÁ¦ Áö±Ý²¯ ¼³Á¤ÇÑ °´Ã¼µéÀ» ÀÌ¿ëÇØ¼ ÀڷḦ °¡Á®¿À°í, ÀڷḦ ȸ鿡 Ãâ·ÂÇÏ´Â ºÎºÐÀ» ÀÛ¼ºÇÒ Â÷·ÊÀÔ´Ï´Ù. ÄÚµå º¸±â·Î ÀüÈ¯ÇØ¼,
View.aspx.cs ÆÄÀÏ ¸ÞÀΠŬ·¡½º( ±×´ë·Î µû¶óÇß´Ù¸é Ŭ·¡½º À̸§ÀÌ View Àϰ̴ϴ٠)¿¡ ´ÙÀ½Ã³·³ ¼Ò½º¸¦ ¸Þ¼µå¸¦
Ãß°¡ÇÕ´Ï´Ù. Page_Load °æ¿ì¿£ ±âÁ¸¿¡ Á¤ÀǵǾîÀÖ´Â ºÎºÐ¿¡¸¸ ¼Ò½º¸¦ ³Ö½À´Ï´Ù. ¼Ò½º ùºÎºÐ, using
¶õ¿¡´Â À̹ø¿¡ Ãß°¡ÇÒ ¼Ò½º¿¡¼ ÇÊ¿äÇÑ ³×ÀÓ½ºÆäÀ̽ºÀÎ System.Data.SqlClient¿Í
System.Text.RegularExpressionÀ» Ãß°¡ÇÕ´Ï´Ù. ¾Æ·¡ ¼Ò½ºÀÇ ÆÄ¶õ»ö ºÎºÐÀÔ´Ï´Ù.
using System;
...(»ý·«)...
using System.Data.SqlClient;
using System.Text.RegularExpressions;
namespace MessageBoard
{
...(»ý·«)...
public class View : System.Web.UI.Page
{
...(»ý·«)...
string LinkURL(string str,string target)
{
Regex rex = new Regex("http\\:\\/\\/\\S+");
return rex.Replace(str,"<a href='$0' target='"+target+"'>$0</a>");
}
string LinkEmail(string str)
{
Regex rex=new Regex("\\S+\\@\\S+");
return rex.Replace(str,"<a href='mailto:$0'>$0</a>");
}
string RemoveInvalidTags( string src, params string[] tags )
{
string expr="";
for( int i=0; i<tags.Length; i++)
{
expr+="|"+tags[i];
}
expr=expr.Substring(1);
expr="(\\<\\/?\\s*)("+expr+")([^\\>]*\\>)";
Regex rex = new Regex(expr);
return rex.Replace( src,"$1_$2$3");
}
void Die(string msg)
{
Response.Write(
"<script language='javascript'>"+
"alert('"+msg+"');history.back();"+
"</script>");
Response.End();
}
private void Page_Load(object sender, System.EventArgs e)
{
int seq = 0;
String errMsg = "";
try
{
seq=int.Parse(Request.QueryString["n"]);
}
catch(Exception )
{
}
if(seq==0)
errMsg = "À߸øµÈ ±Û¹øÈ£ÀÔ´Ï´Ù";
else
{
dbConnection.Open();
dbCommandGetArticle.Parameters["@seq"].Value=seq;
SqlDataReader drArticle =
dbCommandGetArticle.ExecuteReader(CommandBehavior.SingleRow);
if(drArticle.Read())
{
string writer = Server.HtmlEncode((string)drArticle["writer"]);
string email = Server.HtmlEncode((string)drArticle["email"]);
string title = Server.HtmlEncode((string)drArticle["title"]);
int mode = (byte)drArticle["mode"];
int readed = (int)drArticle["readed"];
string writeDate =
String.Format("{0:yyyy³â M¿ù dÀÏ H½Ã mºÐ}",
(DateTime)drArticle["writeDate"]);
string content = (string)drArticle["content"];
drArticle.Close();
if(email!="")
writer=String.Format("<a href='mailto:{0}'>{1}</a>",
email, writer);
lblWriter.Text="ÀÛ¼ºÀÚ : "+writer;
lblTitle.Text="<b>"+title+"</b>";
lblWriteDate.Text="ÀÛ¼ºÀÏ : "+writeDate+", Á¶È¸¼ö : "+readed;
if(mode==0) {
content=Server.HtmlEncode(content);
content=content.Replace(" "," ");
content=LinkEmail( content );
content=LinkURL( content, "_blank" );
}
else
{
content=RemoveInvalidTags( content, "xmp", "table", "tr", "td" );
content="<!--\"'>>_<<'\"-->"+content+"<!--\"'>>_<<'\"-->";
}
content=content.Replace("\n","\n<br>");
lblContent.Text=content;
// Á¶È¸¼ö Áõ°¡
dbCommandUpdateReadCount.Parameters["@seq"].Value=seq;
dbCommandUpdateReadCount.ExecuteNonQuery();
// ÀÌÀü±Û
dbCommandGetPrevArticle.Parameters["@seq"].Value=seq;
SqlDataReader drPrevArticle =
dbCommandGetPrevArticle.ExecuteReader(CommandBehavior.SingleRow);
if(drPrevArticle.Read())
{
lnkPrev.NavigateUrl = "View.aspx?n="+drPrevArticle["seq"];
lnkPrev.Text = Server.HtmlEncode((string)drPrevArticle["title"]);
}
else
lnkPrev.Visible=false;
drPrevArticle.Close();
// ´ÙÀ½±Û
dbCommandGetNextArticle.Parameters["@seq"].Value=seq;
SqlDataReader drNextArticle =
dbCommandGetNextArticle.ExecuteReader(CommandBehavior.SingleRow);
if(drNextArticle.Read())
{
lnkNext.NavigateUrl = "View.aspx?n="+drNextArticle["seq"];
lnkNext.Text = Server.HtmlEncode((string)drNextArticle["title"]);
}
else
lnkNext.Visible=false;
drNextArticle.Close();
// ¼öÁ¤, »èÁ¦ ¸µÅ©
lnkModify.NavigateUrl="Write.aspx?m=1&n="+seq;
lnkDelete.NavigateUrl="Delete.aspx?n="+seq;
}
else
{
errMsg="¾ø°Å³ª »èÁ¦µÈ ±ÛÀÔ´Ï´Ù";
}
}
dbConnection.Close();
if(errMsg!="")
Die(errMsg);
}
...(»ý·«)...
}
}
DB °´Ã¼°¡ Á¤ÀÇ µÇ¾îÀÖÀ¸´Ï, ÀÌ ¼Ò½º ºÎºÐÀº ¿©·¯ºÐµéµµ ³ª¸§´ë·ÎÀÇ ¹æ½ÄÀ¸·Î ÇϽǼö ÀÖÀ»µí ÇÕ´Ï´Ù. À§ ¼Ò½º´Â, ¾îÁö°£ÇÑ »óȲ¿¡¼µµ(?) Àß
ÀÛµ¿Çϵµ·Ï Çϱâ À§ÇØ ¾à°£Àº º¹ÀâÇÏ°Ô µÇ¾îÀÖ½À´Ï´Ù. °Ô½ÃÆÇÀº »ç¿ëÀÚ°¡ Á÷Á¢ ÀÔ·ÂÇÏ´Â ºÎºÐÀ̱⠶§¹®¿¡, ¾Æ¹«·¸°Ô³ª ÀÔ·ÂÇÏ´Â °æ¿ì¿¡µµ ¿¡·¯ ¾øÀÌ Àß
ÀÛµ¿ÇØ¾ß ÇÒ°Ì´Ï´Ù. ƯÈ÷ HTML ű׵µ Çã¿ëÇϵµ·Ï ÇÒ¶§¸é ÁÖÀǰ¡ ÇÊ¿äÇÕ´Ï´Ù.
¿ì¼±, ¾ÕºÎºÐ¿¡ Á¤ÀÇµÈ ³×°³ÀÇ ¸Þ¼µå¿¡ ´ëÇØ ¼³¸íµå¸®°Ú½À´Ï´Ù.
-
LinkUrl
: ¹®ÀÚ¿°ú, Ÿ°Ù À©µµ¿ì À̸§À» ÁÖ¸é ±× ¹®ÀÚ¿ ³»ÀÇ url ÇüÅÂÀÇ ´Ü¾î ( http://cassatt.pe.kr ó·³ http://°¡ ¾Õ¿¡
ºÙ´Â ´Ü¾î )¿¡ ÀÚµ¿À¸·Î ¸µÅ©¸¦ °Ì´Ï´Ù.
-
LinkEmail
: ¹®ÀÚ¿ ³»¿¡ cassatt@hanmir.com ó·³ Áß°£¿¡ @±âÈ£°¡ µé¾î°£ ´Ü¾î°¡ ÀÖÀ¸¸é, ±×°ÍÀ» ¸ÞÀÏÁÖ¼Ò·Î ÀνÄÇØ¼ ÀÚµ¿À¸·Î ¸µÅ©¸¦
°Ì´Ï´Ù.
-
RemoveInvalidTags
: ¹®ÀÚ¿³»¿¡ ÆÄ¶ó¸ÞÅÍ·Î ÁØ Å±׵éÀÌ ÀÖÀ¸¸é, ÅÂ±× ¾Õ¿¡ ¾ð´õ¶óÀÎ(_)À» ºÙ¿©¼ űװ¡ ½ÇÇàµÇÁö ¸øÇϵµ·Ï ÇÕ´Ï´Ù. ¿¹¸¦ µé¾î
<table> °æ¿ì¶ó¸é, table ¾Õ¿¡ _ °¡ ºÙ¾î¼ <_table> ó·³ ¹Ù²î¾î űװ¡ ½ÇÇàÀÌ ¾ÈµË´Ï´Ù. ¼Ò½º¿¡¼±
<xmp>, <table>, <tr>, <td> °°Àº ű׵éÀÌ ½ÇÇàµÇÁö ¾Êµµ·Ï Çß½À´Ï´Ù.
-
Die : ÁÖ¾îÁø ¹®ÀÚ¿·Î ¸Þ½ÃÁö¹Ú½º¸¦ ¶ç¿ì°í, ÀÌÀü ÆäÀÌÁö·Î µ¹¾Æ°¡´Â ÀÚ¹Ù½ºÅ©¸³Æ®¸¦ Ãâ·ÂÇÑ ÈÄ ½ÇÇàÀ»
¸¶Ä¨´Ï´Ù(Response.End()). ¿¡·¯Ã³¸®¿ëÀÔ´Ï´Ù.
Page_Load À̺¥Æ®ÀÇ °æ¿ì¿£, ¿ì¼± ¾Õ °ÁÂÀÇ List.aspx¿¡¼ Á¦¸ñÀ» Ŭ¸¯Çϸé View.aspx?n=10 ó·³ ±ÛÀÇ seq ÇÊµå °ªÀ»
n À̶õ ÆÄ¶ó¸ÞÅÍ·Î, GET ¹æ½ÄÀ¸·Î È£ÃâÇϵµ·Ï Çß¾ú½À´Ï´Ù. ±×·¡¼, ±× °ªÀ» ¾Ë¾Æ³»¼, dbCommandGetArticles ¸¦ È£ÃâÇØ¼
SqlDataReader·Î ÇÑÁÙ ÀоîµéÀÔ´Ï´Ù.
°¡Á®¿Â °ªÀ» ¾Õ¿¡¼ Á¤ÀÇÇß´ø lblWriter, lblWriteDate, lblTitle, lblContent °°Àº ¶óº§ ÄÁÆ®·Ñ Text °ª¿¡
³Ö¾îÁÖ¸é Ç¥ÇöµÇ°Ú´Âµ¥¿ä, ±×Àü¿¡ ¾à°£¾¿ º¯ÇüÀÌ ÇÊ¿äÇÕ´Ï´Ù. ¸ÞÀÏÁÖ¼Ò¸¦ ÀÔ·ÂÇß´Ù¸é ±Û¾´ÀÌ À̸§¿¡ ¸ÞÀÏÁÖ¼Ò¸¦ ¸µÅ©ÇØ¾ß Çϰí¿ä, ÀÔ·ÂÀÏÀ̶ó¸é ¿øÇÏ´Â
Æ÷¸ËÀÇ ³¯Â¥ ÇüÅ·Π¹Ù²ãÁà¾ß Çϰí, Á¦¸ñ¶õÀ̶ó¸é Server.HtmlEncode ¸¦ ÀÌ¿ëÇØ¼ HTML űװ¡ ¸ÔÁö ¾Êµµ·Ï ÇØ¾ß ÇÕ´Ï´Ù.
±ÛÀÇ ³»¿ëÀ̶ó¸é, ±Û¾²±â(Write.aspx)¶õ¿¡¼ ±ÛÀÌ TEXT Çü½ÄÀÎÁö, HTML ű׸¦ Çã¿ëÇÏ´ÂÁö ¼±ÅÃÇÒ¼ö ÀÖµµ·Ï Çß¾ú´Âµ¥¿ä, ±×¿¡
¸ÂÃß¾î ¹Ù²ã¾ß ÇÕ´Ï´Ù.
TEXT Çü½ÄÀ̶ó¸é, Server.HtmlEncode·Î űװ¡ ½ÇÇàµÇÁö ¾Êµµ·Ï Çϰí, °ø¹é µÎ°³(" ") ¸¦ +
°ø¹é Çϳª ·Î ¹Ù²ã¼, ±Û ¾Õ¿¡ °ø¹éÀ» ÀÔ·ÂÇØµµ Ç¥½Ã°¡ Àß µÇµµ·Ï ÇÕ´Ï´Ù. ±×¸®°í ±Û ³»¿ëÁß¿¡ url À̳ª email ÁÖ¼Ò°¡ ÀÖÀ¸¸é ¸µÅ©¸¦
°Ì´Ï´Ù.
HTML Çü½ÄÀ̶ó¸é, űװ¡ ½ÇÇàµÇ¾î¾ß ÇϹǷΠƯº°ÇÑ Ã³¸®´Â ÇÏÁö ¾ÊÁö¸¸ ¾Õ¼ Á¤ÀÇÇß´ø RemoveInvalidTags ¸Þ¼µå·Î ¿äÁÖÀÇ(?)
ű׵éÀº ¸ÔÁö ¾Êµµ·Ï ÇÕ´Ï´Ù. ( ƯÈ÷ xmp °°Àº űװ¡ ¸ÔÀ¸¸é ´Ù ¸Á°¡Áý´Ï´Ù ) ±×¸®°í ³»¿ë ¾ÕµÚ¿¡
<!--"'>>_<<'"--> ¸¦ ºÙÀÌ¸é »ç¿ëÀÚ°¡ ÀÔ·ÂÇÑ ±ÛÀÇ ¸µÅ©°¡ ±úÁ®ÀÖ´Â °æ¿ì ( ¿¹¸¦ µé¾î <a
href="....> ó·³ µû¿ÈÇ¥¸¦ ´ÝÁö ¾ÊÀº °æ¿ì )¿¡µµ ¾î´À Á¤µµ´Â ¸·¾ÆÁÝ´Ï´Ù. CrazyWWWBoard°¡ ±×·¸°Ô ÇÏ´õ±º¿ä.
±×¸®°í µÎ Çü½Ä ¸ðµÎ, ¸®ÅÏ ÄÚµå("\n") ¸¦ <br> ű׷Π¹Ù²ã¼ Çà¹Ù²Þ µÇµµ·Ï ÇÕ´Ï´Ù.
ÀÌÈÄ¿£ ±ÛÀÇ Á¶È¸¼ö¸¦ Çϳª Áõ°¡½Ã۰í, ÀÌÀü±Û/´ÙÀ½±ÛÀ» °¡Á®¿Í¼ Ç¥½ÃÇϰí, ±Û¼öÁ¤, ±Û »èÁ¦ ¸µÅ©¿¡ urlÀ» ³Ö´Â µîÀÇ ÀÛ¾÷À» ÇÕ´Ï´Ù.
¾à°£Àº º¹ÀâÇÑ ¼Ò½º¿´³ª ¸ð¸£°Ú½À´Ï´Ù. ½ÇÁ¦·Î °Ô½ÃÆÇÀ» ¿î¿µÇϽô٠º¸¸é ´Ù¾çÇÑ °æ¿ì¸¦ ¸¸³ª°Ô µÉ°Ì´Ï´Ù. ¼Ò½ºÁß ÀϺθ¦ »©°í, ³Ö°í ÇϽøé¼
¾Æ¹«·¸°Ô³ª ÀÔ·ÂÇÏ¸é¼ Å×½ºÆ® ÇØº¸¼¼¿ä.
Page_Load ¸Þ¼µå, µÞºÎºÐ º¸½Ã¸é, ¼öÁ¤/»èÁ¦ ¸µÅ©ÀÇ URL·Î ¼³Á¤ÇÏ´Â °ÍÀ» º¸½Ç¼ö ÀÖ½À´Ï´Ù.
lnkModify.NavigateUrl="Write.aspx?m=1&n="+seq;
lnkDelete.NavigateUrl="Delete.aspx?n="+seq; ±Û ¼öÁ¤ÀÇ °æ¿ì, ¸Ç óÀ½ ¸¸µé¾ú´ø Write.aspx
¿¡ ±â´ÉÀ» Ãß°¡Çؼ ±¸ÇöÇÒ ¿¹Á¤ÀÔ´Ï´Ù. ±Û ¼öÁ¤À̳ª, ±Û¾²±â³ª °ÅÀÇ °°Àº UI ¶ó¼¿ä.
±×¸®°í »èÁ¦ ¹öưÀ» ´©¸£¸é Delete.aspx ¿¡ seq °ªÀ» ³Ñ°Ü, ±× ±ÛÀ» »èÁ¦Çϵµ·Ï Çϰí ÀÖ½À´Ï´Ù. Delete.aspx ¿¡¼±
ºñ¹Ð¹øÈ£¸¦ ÀԷ¹޾Ƽ, ÇØ´ç ±ÛÀÇ ºñ¹Ð¹øÈ£¿Í ºñ±³Çؼ »èÁ¦ÇÏ¸é µÇ°Ú½À´Ï´Ù. ´ÙÀ½ °Á¿¡¼± ±× ±Û »èÁ¦ ÆäÀÌÁö( Delete.aspx )¸¦
¸¸µé¾îº¸°Ú½À´Ï´Ù.
|