개발꿈나무
MVC application 본문
반응형
1. Web Application - MVC 프로젝트 생성
2. Model - person class(Person.cs) 생성
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace webapplication1.Models
{
// POCO class(Plain Old CLR Object) [java에서는 POJO]
// networkStream 방식1. json packet(C/S 방식) 2. service packet(일반적인 방법, Front-end/Back-end 방식)
// NetworkStream에 service packet으로 보내기 위해 POCO class 사용
//DTO object(Data Transport Object) - network-side(evaluation(network에서 실행) != excution(cpu에서 실행))
//server-side/back-end
public class Person //Model 구성
{
public int Id { get; set; } = default(int);
public int Age { get; set; } = default(int);
public string Name { get; set; } = default(string);
public bool Gender { get; set; } = default(bool);
public string PhoneNumber { get; set; } = default(string);
}
}
3. Controller 생성
- Controller right click - [New Scaffold Item] - MVC 5 Controller with views, using Entity Framework 선택 - 모델 클래서 선택 및 데이터 컨텍스트 클래스(DB) 추가 선택
- [VIEW] - [Shared] - layout.cshtml 수정
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>@ViewData["Title"] - webapplication1</title>
<link rel="stylesheet" href="~/lib/bootstrap/dist/css/bootstrap.min.css" />
<link rel="stylesheet" href="~/css/site.css" asp-append-version="true" />
</head>
<body>
<header>
<nav class="navbar navbar-expand-sm navbar-toggleable-sm navbar-light bg-white border-bottom box-shadow mb-3">
<div class="container">
<a class="navbar-brand" asp-area="" asp-controller="Home" asp-action="Index">webapplication1</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target=".navbar-collapse" aria-controls="navbarSupportedContent"
aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="navbar-collapse collapse d-sm-inline-flex justify-content-between">
<ul class="navbar-nav flex-grow-1">
<li class="nav-item">
<a class="nav-link text-dark" asp-area="" asp-controller="Home" asp-action="Index">Home</a>
</li>
<li class="nav-item">
<a class="nav-link text-dark" asp-area="" asp-controller="Home" asp-action="Privacy">Privacy</a>
</li>
</li>
<li class="nav-item">
<a class="nav-link text-dark" asp-area="" asp-controller="People" asp-action="Index">People</a>
</li>
</ul>
</div>
</div>
</nav>
</header>
<div class="container">
<main role="main" class="pb-3">
@RenderBody()
</main>
</div>
<footer class="border-top footer text-muted">
<div class="container">
© 2021 - webapplication1 - <a asp-area="" asp-controller="Home" asp-action="Privacy">Privacy</a>
</div>
</footer>
<script src="~/lib/jquery/dist/jquery.min.js"></script>
<script src="~/lib/bootstrap/dist/js/bootstrap.bundle.min.js"></script>
<script src="~/js/site.js" asp-append-version="true"></script>
@await RenderSectionAsync("Scripts", required: false)
</body>
</html>
<nav> 내의 People <li> 추가
4. DB 생성
[Tool] - [NuGet package Manager] - [Package Manager Console]
PM> Add-Migration InitialCreate1 -context [context명]
PM> Update-Database -context [context명]
5. WebPage 확인
6. 보기 - [SQL Server 개체 탐색기]
Web Page 상에서 데이터 삽입, 변경, 삭제 후 VS의 db data에서 REFRESH할 경우 바로 적용됨
반응형
'.Net 교육' 카테고리의 다른 글
8/17(월) 6일차 C#.Net 교육 (0) | 2021.08.17 |
---|---|
8/13(금) 5일차 C#.Net 교육 (0) | 2021.08.13 |
8/12(목) 4일차 C#.Net 교육 (0) | 2021.08.12 |
8/11(수) 3일차 C#.Net 교육 (0) | 2021.08.11 |
8/10(화) 2일차 C#.Net 교육 (0) | 2021.08.10 |
Comments