더북(TheBook)

37.5.16 따라하기 15: 게시판 삭제 페이지 구현

1. DotNetNote 컨트롤러에는 삭제 페이지 관련 액션 메서드인 Delete 메서드가 구현되어 있다.

2. Views 폴더의 DotNetNote 폴더에 Delete.cshtml이라는 이름으로 뷰 페이지를 생성하고, 삭제를 담당하는 뷰 페이지를 다음과 같이 작성한다.

▼  /Views/DotNetNote/Delete.cshtml

@section Scripts {
  <!-- http://bootboxjs.com -->
  <script src=“~/lib/bootbox.js/bootbox.js”></script>
}

<script>
  function ConfirmDelete() {
      var varFlag = false;
      var txtId = document.getElementById(“Password”);
      if (txtId.value.length == 0) {
          bootbox.alert(“비밀번호를 입력하세요.”, function () { });
          txtId.focus();
          return false;
      }
      
      varFlag = false;
      bootbox.confirm(“현재 글을 삭제하시겠습니까?”, function (result) {
          if (result == true) {
              document.forms[0].submit();
          }
      });
      return varFlag;
  }
</script>

<h2 style=“text-align:center;”>게시판</h2>
<span style=“color:#ff0000;”>
  글 삭제 - 글을 삭제하려면 글 작성시에 기록하였던 비밀번호가 필요합니다.
</span>
<hr />
<div style=“text-align: center;”>
  <form asp-action=“Delete” method=“post” onsubmit=“return ConfirmDelete();”>
      <span class=“text-danger”>@ViewBag.Id</span>번 글을 지우시겠습니까?
      <input type=“hidden” name=“id” id=“id” value=”@ViewBag.Id” />
      <br />
      비밀번호 :
      <input type=“password” name=“Password” id=“Password”
              style=“width:120px;display:inline-block;” class=“form-control” />
      <input type=“submit” value=“지우기” class=“btn btn-danger”
              style=“display:inline-block;” />
      <a asp-action=“Details” asp-route-id=”@ViewBag.Id”
          class=“btn btn-default”>취소</a>
      <br />
      <span class=“text-danger”>@ViewBag.Message</span>
      <br />
  </form>
</div>

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.