2. Views 폴더에 CommunityCamp 폴더를 생성한다. 이곳에 Index.cshtml이라는 이름으로 MVC 뷰 페이지를 생성하고, 다음과 같이 코드를 작성한다. 두 커뮤니티 사이트에 대한 정보를 문자열로 조회해 참여자와 대기자 리스트를 출력하도록 설정했다. 선착순 15명까지만 등록자로 리스트를 출력하고, 나머지는 대기자 리스트에 출력하는 코드다.
▼ /Views/CommunityCamp/Index.cshtml
@using DotNetNote.Models
@{
ViewData["Title"] = "커뮤니티 캠프";
}
@model List<CommunityCampJoinMember>
<h1>ASP.NET Core 1.0 학습용 데모 사이트입니다.</h1>
<h2>참가자 리스트</h2>
<a asp-controller=“CommunityCamp” asp-action=“Create”
class=“btn btn-info”>참가 등록하기</a>
<hr />
@<div class=“lead”>
참여 등록이 마감되었습니다.
만약, 참여자 중 취소하시는 분들이 계시면,
대기자 리스트 분에게 연락드리도록 하겠습니다.
본 사이트는 행사 전에 DB 완전 초기화될 것입니다.
감사합니다.
</div>
<hr />@
<div class=“row”>
<div class=“col-md-6”>
<div class=“panel panel-default”>
<div class=“panel-heading”>ASP.NET Korea 참여자 리스트</div>
<div class=“panel-body”>
@foreach (var aspnetkorea in Model.Where(m => m.CommunityName
== “ASP.NET Korea”).OrderBy(m => m.Id).Take(15))
{
<div class=“col-md-3”>
@aspnetkorea.Name
<a asp-controller=“CommunityCamp” asp-action=“Delete”
title=“취소”>
<i class=“glyphicon glyphicon-remove-sign”></i>
</a>
</div>
}
</div>
</div>
</div>
<div class=“col-md-6”>
<div class=“panel panel-default”>
<div class=“panel-heading”>
Taeyo.NET 참여자 리스트
</div>
<div class=“panel-body”>
@foreach (var taeyonetkorea in Model.Where(m => m.CommunityName
== “Taeyo.NET”).OrderBy(m => m.Id).Take(15))
{
<div class=“col-md-3”>
@taeyonetkorea.Name
<a asp-controller=“CommunityCamp” asp-action=“Delete”
title=“취소”>
<i class=“glyphicon glyphicon-remove-sign”></i>
</a>
</div>
}
</div>
</div>
</div>
</div>
<div class=“row”>
<div class=“col-md-6”>
<div class=“panel panel-default”>
<div class=“panel-heading”>ASP.NET Korea 대기자 리스트</div>
<div class=“panel-body”>
@foreach (var aspnetkorea in Model.Where(m => m.CommunityName
== “ASP.NET Korea”).OrderBy(m => m.Id).Skip(15).Take(25))
{
<div class=“col-md-3”>
@{
var aspName = aspnetkorea.Name[0].ToString() + ““
+ aspnetkorea.Name.Substring(
aspnetkorea.Name.Length - 1);
}
@aspName
<a asp-controller=“CommunityCamp” asp-action=“Delete”
title=“취소”>
<i class=“glyphicon glyphicon-remove-sign”></i>
</a>
</div>
}
</div>
</div>
</div>
<div class=“col-md-6”>
<div class=“panel panel-default”>
<div class=“panel-heading”>
Taeyo.NET 대기자 리스트
</div>
<div class=“panel-body”>
@foreach (var taeyonetkorea in Model.Where(m => m.CommunityName
== “Taeyo.NET”).OrderBy(m => m.Id).Skip(15).Take(25))
{
<div class=“col-md-3”>
@{
var taeyoName = taeyonetkorea.Name[0].ToString() + “” +
taeyonetkorea.Name.Substring(
taeyonetkorea.Name.Length - 1);
}
@taeyoName
<a asp-controller=“CommunityCamp” asp-action=“Delete”
title=“취소”>
<i class=“glyphicon glyphicon-remove-sign”></i>
</a>
</div>
}
</div>
</div>
</div>
</div>
@section Scripts {
@if (TempData[“Message”] != null)
{
<script>
toastr.info(’@TempData[“Message”]’);
</script>
}
}