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>
}
}