본문 바로가기
개발/.Net

[.Net Core MVC] 웹 게시판 만들기(6) - 게시판 리스트

by 코딩하는 흰둥이 2023. 4. 17.
반응형

이전글

https://greed-yb.tistory.com/203

 

[.Net Core MVC] 웹 게시판 만들기(5) - Views 생성, 연동

이전글 https://greed-yb.tistory.com/202 [.Net Core MVC] 웹 게시판 만들기(4) - DB 연결하기 이전글 https://greed-yb.tistory.com/201 [.Net Core MVC] 웹 게시판 만들기(3) - Model 추가 이전글 https://greed-yb.tistory.com/200 [.Net Co

greed-yb.tistory.com

 

하면서 생각해보니 Member 테이블이 현재 글과는 어울리지가 않는데

어차피 테스트 겸 정리하는 거니 그냥 넘어가겠다

 

 

프로젝트 실행 시 기본 화면

 

Layout 구성

Privacy 부분을 게시판으로 바꾸려고 한다

 

 

 

 

Shared -> _Layout.cshtml 클릭

 

 

상단 Nav 메뉴

네비에 항목을 더 추가 하고 싶으면

<li class="nav-item">
   <a class="nav-link text-dark" asp-area="" asp-controller="Home" asp-action="Privacy">Privacy</a>
</li>

예) asp-controller="Controller 앞에 이름 " asp-action="Controller 메서드 명">화면에 보여줄 이름</a>

 

 

난 Privacy 를 게시판으로 바꾸었다

<li class="nav-item">
	<a class="nav-link text-dark" asp-area="" asp-controller="Member" asp-action="Index">게시판</a>
</li>

 

 

재 실행 혹은 Hot load 사용 시 변경 확인

 

게시판 클릭 -> 이동 확인

 

 

Index.cshtml 구성

@{
    ViewData["Title"] = "Index";
}
<div class="container p-3">
    <div class="row pt-4">
        <div class="col-6">
            <h2>Member List</h2>
        </div>
        <div class="col-6 text-end">
            <a asp-controller="Test" asp-action="Create" class="btn btn-primary">
                Create
            </a>
        </div>
    </div>
    </br>
    <table class="table table-bordered table-striped" style="width:100%">
        <thead>
            <tr>
                <th>Id</th>
                <th>Name</th>
                <th>Age</th>
            </tr>
        </thead>
        <tbody>
        </tbody>
    </table>
</div>

 

.Net Core MVC 에는 부트스트랩이

포함되어 있기 때문에 해당 Class 를 가져다 사용함

 

재 실행 시 화면

 

 

 

Cotroller 에서 데이터를 받아다 cshtml 로 출력하기

Member List 화면은 값이 있을 경우 데이터가 출력되어야 하기 때문에 

데이터를 연동해서 출력해주는 작업이 필요하다

MemberController

using Microsoft.AspNetCore.Mvc;
using WebMvcPractice.Data;
using WebMvcPractice.Models;

namespace WebMvcPractice.Controllers
{
    public class MemberController : Controller
    {
        // Db를 연동한 ApplicationDbContext 의존성 주입
        private readonly ApplicationDbContext _db;

        public MemberController(ApplicationDbContext db)
        {
            _db = db;
        }

        // Member List 게시판 화면
        // Create 추가 시 글 List 가 출력 되어야 함
        public IActionResult Index()
        {
            // ApplicationDbContext 에 명시한 Member를 가져다 사용함
            IEnumerable<Member> objMember = _db.Member;
            return View(objMember);
        }
    }
}

 

 

 

Index.cshtml

Controller 에서 보내는 값을 model로 받는다

foreach 로 반복해서 출력한다

 

 

 

게시글 작성화면 이동 버튼 생성

asp-controller 는 ???Controller 의 ??? 를 인식하며

asp-action 은 해당 Controller 의 메서드 명은 인식한다

 

댓글