°³Ã¼ ÂüÁ¶°¡ °³Ã¼ÀÇ ÀνºÅϽº·Î ¼³Á¤µÇÁö ¾Ê¾Ò½À´Ï´Ù.
½ÄÀÇ ¿¡·¯¸Þ½ÃÁö´Â
URL·Î Äõ¸®½ºÆ®¸µ µîÀÇ ÆĶó¹ÌÅ͸¦ ³Ñ±âÁö ¾Ê¾ÒÀ» ¶§ ÁÖ·Î ¹ß»ýÇÕ´Ï´Ù.
/DotNetNote/Edit/1
/DotNetNote/Edit/8 ½ÄÀ¸·Î
Edit ÆäÀÌÁö ½ÇÇà½Ã ¼ýÀÚ°ªÀ» ³Ñ°Ü¼ Å×½ºÆ®ÇØ º¸½Ã±â ¹Ù¶ø´Ï´Ù.
±âŸ ³»¿ëÀº Á¦ °ÁÂÀÇ ¼Ò½ºµµ Âü°íÇØÁÖ¼¼¿ä...
±èÈ«±Ù¼ºêID ´ÔÀÌ ¾²½Å ¿ø¹® ±ÛÀÔ´Ï´Ù.
Á¦ PCȯ°æÀº Visual Studio 2013 , SQL2012, ¿£ÅÍƼÇÁ·¹ÀÓ¿öÅ©+CRUD ÄÁÆ®·Ñ·¯ÀÔ´Ï´Ù.
1. ±ÛÀ» ÀÛ¼ºÇÏ°í.
2. »ó¼¼º¸±â¿¡¼ ¼öÁ¤¹öÆ°À» ´·¯
3. ¼öÁ¤ÆäÀÌÁö¿¡¼ ³»¿ë º¯°æÀ» ÇÑ µÚ ºñ¹Ð¹øÈ£¸¦ ÀÔ·ÂÇÏ°í ¼öÁ¤¿Ï·á¸¦ ´©¸£¸é ¿¡·¯°¡ ³³´Ï´Ù.
ºñ¹Ð¹øÈ£¸¦ ´Ù¸£°Ô ´©¸£°Å³ª °°°Ô ´©¸£°Å³ª µ¿ÀÏÇÑ ¿¡·¯°¡ ¹ß»ýÇÕ´Ï´Ù.
----------------------------------------------------------------------------------------------------
'/' ÀÀ¿ë ÇÁ·Î±×·¥¿¡ ¼¹ö ¿À·ù°¡ ÀÖ½À´Ï´Ù.
°³Ã¼ ÂüÁ¶°¡ °³Ã¼ÀÇ ÀνºÅϽº·Î ¼³Á¤µÇÁö ¾Ê¾Ò½À´Ï´Ù.
¼³¸í: ÇöÀç À¥ ¿äûÀ» ½ÇÇàÇÏ´Â µ¿¾È 󸮵ÇÁö ¾ÊÀº ¿¹¿Ü°¡ ¹ß»ýÇß½À´Ï´Ù. ½ºÅà ÃßÀûÀ» °ËÅäÇÏ¿© ¹ß»ýÇÑ ¿À·ù ¹× Äڵ忡¼ ¿À·ù°¡ ¹ß»ýÇÑ À§Ä¡¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ Á¤º¸¸¦ È®ÀÎÇϽʽÿÀ.
¿¹¿Ü Á¤º¸: System.NullReferenceException: °³Ã¼ ÂüÁ¶°¡ °³Ã¼ÀÇ ÀνºÅϽº·Î ¼³Á¤µÇÁö ¾Ê¾Ò½À´Ï´Ù.
¼Ò½º ¿À·ù:
ÁÙ 130: DotNetNoteArticle edit = db.DotNetNoteArticles.Find(dotnetnotearticle.Num);
ÁÙ 131:
ÁÙ 132: if (edit.Password == dotnetnotearticle.Password) // ¾ÏÈ£°¡ °°À¸¸é
ÁÙ 133: {
ÁÙ 134: if (ModelState.IsValid)
¼Ò½º ÆÄÀÏ: c:\Users\jiho8920\Documents\Visual Studio 2013\Projects\MvcDotNetNote\MvcDotNetNote\Controllers\DotNetNoteController.cs ÁÙ: 132
---------------------------------------------------------------------------------------------
DotNetNoteController.cs
//
// POST: /DotNetNote/Edit/5
[HttpPost]
[ValidateInput(false)]
[ValidateAntiForgeryToken]
public ActionResult Edit(DotNetNoteArticle dotnetnotearticle)
{
ViewData["Title"] = "±Û ¼öÁ¤Çϱâ";
GetEncoding();
// ±Û ¼öÁ¤Çϱ⠹öÆ° Ŭ¸¯ÇßÀ» ¶§ ±âÁ¸ ¾ÏÈ£¿Í ÀÔ·ÂÇÑ ¾ÏÈ£°¡ ¸ÂÀ¸¸é ¼öÁ¤ ±×·¸Áö ¾ÊÀ¸¸é ¸Þ½ÃÁö Ãâ·Â
// db.DotNetNoteArticles.Find(dotnetnotearticle.Num); °°Àº ¶æ
//DotNetNoteArticle edit = db.DotNetNoteArticles.Single(d => d.Num == dotnetnotearticle.Num);
DotNetNoteArticle edit = db.DotNetNoteArticles.Find(dotnetnotearticle.Num);
if (edit.Password == dotnetnotearticle.Password) // ¾ÏÈ£°¡ °°À¸¸é
{
if (ModelState.IsValid)
{
db.Entry(dotnetnotearticle).State = EntityState.Modified;
//¼öÁ¤Çϱâ ÆäÀÌÁö¿¡¼ Ãß°¡µÇ´Â Çʵå
dotnetnotearticle.ModifyDate = DateTime.Now; //ÇöÀç ¼öÁ¤ÇÑ ³¯Â¥·Î ¾÷µ¥ÀÌÆ®
dotnetnotearticle.ModifyIp = Request.UserHostAddress; //ÇöÀç ¼öÁ¤ÇÑ IPÁÖ¼Ò
db.SaveChanges();
return RedirectToAction("Index");
}
return View(dotnetnotearticle);
}
else // ¾ÏÈ£°¡ ´Ù¸£¸é
{
//¿¡·¯¸Þ½ÃÁö Ãâ·Â
ModelState.AddModelError("Password", "¾ÏÈ£°¡ Ʋ¸³´Ï´Ù. ´Ù½Ã ÀÔ·ÂÇϼ¼¿ä...");
return View(dotnetnotearticle);
}
}
-------------------------------------------------------------------------------------
(Ãß°¡³»¿ë)
»õ·Î¿î Context¸¦ ¼±¾ð¾ÈÇÑ °Í °°¾Æ¼ ¼Ò½º ¼öÁ¤Çغ¸¾Ò´Âµ¥µµ °°Àº ¿¡·¯°¡ ¹ß»ýÇÕ´Ï´Ù.
//
// POST: /DotNetNote/Edit/5
[HttpPost]
[ValidateInput(false)]
[ValidateAntiForgeryToken]
public ActionResult Edit(DotNetNoteArticle dotnetnotearticle)
{
ViewData["Title"] = "±Û ¼öÁ¤Çϱâ";
GetEncoding();
// ±Û ¼öÁ¤Çϱ⠹öÆ° Ŭ¸¯ÇßÀ» ¶§ ±âÁ¸ ¾ÏÈ£¿Í ÀÔ·ÂÇÑ ¾ÏÈ£°¡ ¸ÂÀ¸¸é ¼öÁ¤ ±×·¸Áö ¾ÊÀ¸¸é ¸Þ½ÃÁö Ãâ·Â
// db.DotNetNoteArticles.Find(dotnetnotearticle.Num); °°Àº ¶æ
//DotNetNoteArticle edit = db.DotNetNoteArticles.Single(d => d.Num == dotnetnotearticle.Num);
string pwd = "";
using(MvcDotNetNoteContext newContext = new MvcDotNetNoteContext())
{
pwd = newContext.DotNetNoteArticles.Find(dotnetnotearticle.Num).Password;
}
if (pwd == dotnetnotearticle.Password) // ¾ÏÈ£°¡ °°À¸¸é
{
if (ModelState.IsValid)
{
db.Entry(dotnetnotearticle).State = EntityState.Modified;
//¼öÁ¤Çϱâ ÆäÀÌÁö¿¡¼ Ãß°¡µÇ´Â Çʵå
dotnetnotearticle.ModifyDate = DateTime.Now; //ÇöÀç ¼öÁ¤ÇÑ ³¯Â¥·Î ¾÷µ¥ÀÌÆ®
dotnetnotearticle.ModifyIp = Request.UserHostAddress; //ÇöÀç ¼öÁ¤ÇÑ IPÁÖ¼Ò
db.SaveChanges();
return RedirectToAction("Index");
}
return View(dotnetnotearticle);
}
else // ¾ÏÈ£°¡ ´Ù¸£¸é
{
//¿¡·¯¸Þ½ÃÁö Ãâ·Â
ModelState.AddModelError("Password", "¾ÏÈ£°¡ Ʋ¸³´Ï´Ù. ´Ù½Ã ÀÔ·ÂÇϼ¼¿ä...");
return View(dotnetnotearticle);
}
-----------------------------------------------------------------------------------------
°³Ã¼ ÂüÁ¶°¡ °³Ã¼ÀÇ ÀνºÅϽº·Î ¼³Á¤µÇÁö ¾Ê¾Ò½À´Ï´Ù.
¼³¸í: ÇöÀç À¥ ¿äûÀ» ½ÇÇàÇÏ´Â µ¿¾È 󸮵ÇÁö ¾ÊÀº ¿¹¿Ü°¡ ¹ß»ýÇß½À´Ï´Ù. ½ºÅà ÃßÀûÀ» °ËÅäÇÏ¿© ¹ß»ýÇÑ ¿À·ù ¹× Äڵ忡¼ ¿À·ù°¡ ¹ß»ýÇÑ À§Ä¡¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ Á¤º¸¸¦ È®ÀÎÇϽʽÿÀ.
¿¹¿Ü Á¤º¸: System.NullReferenceException: °³Ã¼ ÂüÁ¶°¡ °³Ã¼ÀÇ ÀνºÅϽº·Î ¼³Á¤µÇÁö ¾Ê¾Ò½À´Ï´Ù.
¼Ò½º ¿À·ù:
ÁÙ 132: using(MvcDotNetNoteContext newContext = new MvcDotNetNoteContext())
ÁÙ 133: {
ÁÙ 134: pwd = newContext.DotNetNoteArticles.Find(dotnetnotearticle.Num).Password;
ÁÙ 135: }
ÁÙ 136:
¼Ò½º ÆÄÀÏ: c:\Users\jiho8920\Documents\Visual Studio 2013\Projects\MvcDotNetNote\MvcDotNetNote\Controllers\DotNetNoteController.cs ÁÙ: 134
|