더북(TheBook)

5. Views 폴더의 DotNetNote 폴더에 Details.cshtml이라는 이름으로 뷰 페이지를 작성하고, 다음과 같이 코드를 작성한다. 4번에서 부분 페이지로 작성한 내용을 모두 모아서 출력하는 상세보기 페이지를 구현한 것이다.

▼  /Views/DotNetNote/Details.cshtml

@model Note
@inject Microsoft.Extensions.Options.IOptions<
  DotNetNote.Settings.DotNetNoteSettings> option

<h2 style=“text-align:center;”>게시판</h2>
<span style=“color: #ff0000”>
  글 보기 - 현재 글에 대해서 수정 및 삭제를 할 수 있습니다.
</span>
<hr />
<table style=“width: 700px; margin-left: auto; margin-right: auto;”>
  <tbody>
      <tr style=“color: white; background-color: #46698c;”>
          <td style=“width: 80px; text-align: right; height: 35px;”>
              <b style=“font-size: 18px”>제 목</b> :
          </td>
          <td colspan=“3”>
              <span style=“font-weight:bold;font-size:18px;”>
                  @Model.Title
              </span>
          </td>
      </tr>
      <tr style=“background-color: #efefef;”>
          <td class=“text-right”>
              번 호 :
          </td>
          <td>
              <span>@Model.Id</span>
          </td>
          <td class=“text-right”>
              E-mail :
          </td>
          <td>
              <a href=“mailto:@Model.Email”>@Model.Email</a>
          </td>
      </tr>
      <tr style=“background-color: #efefef;”>
          <td class=“text-right”>
              이 름 :
          </td>
          <td>
              <span>@Model.Name</span>
          </td>
          <td class=“text-right”>
              Homepage :
          </td>
          <td>
              <span>
                  @Html.Raw(String.Format(
                      “<a href=\“{0}\” target=\”_blank\”>{0}</a>“
                      , Model.Homepage))
              </span>
          </td>
      </tr>
      <tr style=“background-color: #efefef;”>
          <td class=“text-right”>
              작성일 :
          </td>
          <td>
              <span>@Model.PostDate</span>
          </td>
          <td class=“text-right”>
              IP 주소 :
          </td>
          <td>
              <span>@Model.PostIp</span>
          </td>
      </tr>
      <tr style=“background-color: #efefef;”>
          <td class=“text-right”>
              조회수 :
          </td>
          <td>
              <span>@Model.ReadCount</span>
          </td>
          <td class=“text-right”>
              파일 :
          </td>
          <td>
              @Html.Raw(ViewBag.FileName)
          </td>
      </tr>
      <tr>
          <td colspan=“4”
              style=“padding:10px;height:100px;vertical-align:top;”>
              @Html.Raw(ViewBag.ImageDown)
              @Html.Raw(ViewBag.Content)
          </td>
      </tr>
      <tr>
          <td colspan=“4”>
              <hr />
          </td>
      </tr>
      <tr>
          <td colspan=“4”>
              @Html.Partial(“_BoardCommentControl”,
                  (NoteCommentViewModel)ViewBag.CommentListAndId)
          </td>
      </tr>
  </tbody>
</table>

<div style=“text-align:center;”>

  @if (Model.Category != “Notice” && User.IsInRole(“Users”) &&
      User.FindFirst(“UserId”).Value == option.Value.SiteAdmin)
  {
      <a asp-action=“Pinned” asp-route-id=”@Model.Id” class=“btn btn-danger”>
          공지로 올리기
      </a>
  }
  <a asp-action=“Delete” asp-route-id=”@Model.Id” class=“btn btn-default”>
      삭제
  </a>
  <a asp-action=“Edit” asp-route-id=”@Model.Id” class=“btn btn-default”>
      수정
  </a>
  <a asp-action=“Reply” asp-route-id=”@Model.Id” class=“btn btn-default”>
      답변
  </a>
   
  <a asp-action=“Index” class=“btn btn-default”>리스트</a>
</div>
<br />

@section Scripts {
  @if (TempData[“Message”] != null)
  {
      <link href=“~/lib/toastr/toastr.css” rel=“stylesheet” />
      <script src=“~/lib/toastr/toastr.js”></script>
      <script>
          $(function () {
              toastr.info(@TempData[“Message”]);
          });
      </script>
  }
}

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