제목:
Microsoft 기반 웹 개발 기술 A에서 Z까지 한눈에 살펴보기
강사:
박용준(ASP.NET/IIS MVP)
내용 :
현대의 웹 개발에 필요한 기술들에 대한 소개와
ASP.NET을 통해서 어떻게 수많은 웹 개발 기술을 적용할 수 있는지에 대한
가이드를 제시하고자 합니다.
특정 기술에 대한 설명이 아닌 웹 개발의 전체 흐름을 알 수 있는 시간이 되도록 하겠습니다.
기술레벨 :
100 (개발자/IT Pro라면 누구나 들어도 됨)
제목 : ASP.NET MVC 5 처음 시작하기
강사 소개
박용준
http://www.dotnetkorea.com/
세미나 소개
ASP.NET MVC 5 소개
ASP.NET MVC 5 기본 Web Application 프로젝트를 읽어낼 정도
선수 과목
C#
ASP.NET Web Forms
[프로젝트 생성 및 기본 구조]
ASP.NET MVC 5 프로젝트 생성 : Empty 프로젝트
MvcEmptyProject
- NuGet으로 여러 패키지가 기본값으로 추가됩니다.
기본 구조 소개
전체 폴더 살펴보기
Model, View, Controller
RoutConfig.cs
WebAPI 관련 코드 주석 처리
빌드 후 웹브라우저로 실행해보기
컨트롤러/액션/뷰가 없으면 에러 남
컨트롤러/액션/아이디
[컨트롤러(Controller)]
컨트롤러 생성 후 실행해 보기
HomeController 생성
Index 액션 메서드
- MVC는 뷰가 아닌 컨트롤러가 먼저 실행됨 확인
액션메서드에서 뷰 생성 후 실행해보기
Index.cshtml
간단 내용 출력
새로운 액션 메서드와 뷰 만들기
About 액션 메서드 만들기 : return Content("");로도 값 출력 가능
About 뷰 만들기
액션 메서드에서 다른 뷰 호출하는 방법 간단 설명
return View("About");
액션 메서드에서 Json 값 반환하는 방법 설명 : Contact
return Json(new { Name = "박용준" }, JsonRequestBehavior.AllowGet);
페이지간 이동 = 액션 메서드에서의 이동
Response.Redirect()와 같은 기능 :
return RedirectToXXX();
return View(); 는 액션메서드와 뷰가 일대일 매핑된 경우
[뷰(View)]
레이아웃 만들기
~/Views/Shared/_Layout.cshtml
Index, About 페이지에 레이아웃 적용하기
Layout = "~/Views/Shared/_Layout.cshtml";
레이아웃 자동 적용하기
~/Views/_ViewStart.cshtml
Index, About에서 따로 Layout 적용할 필요 없음
HTML Helpers : Web Forms의 서버 컨트롤
Html.BeginForm() : form 태그 자동 생성
텍스트박스와 레이블 만들기
@Html.TextBox("Name")
@Html.TextBox("Email")
@Html.TextBox("Age")
스타일시트 적용하여 폼 모양 이쁘게
폼 실행 결과는 Fiddler로 살펴보면 좋음
About에 대한 POST 액션 메서드 만들기
[HttpPost] 만들기
매개변수로 값 받기
ViewBag.Result = String.Format(); 개체 사용해서 View 단으로 전달
[모델(Model)]
모델 만들기
Person 모델
Name
Email
Age
만들어진 모델을 뷰로 전달하기
return View(vm);
모델을 바탕으로 뷰 헬퍼 만들기
@Html.LableFor(x => x.FirstName)
@Html.TextBoxFor(x => x.FirstName)
Post 액션 메서드에서 각각의 매개변수가 아닌 모델 개체로 받기
@Html.EditorForModel() 헬퍼 메서드로 모델에 따른 폼 구성
[유효성 검사(Validation)]
직접 유효성 검사 로직 적용
Manual Validation
ModelState.AddModelError("Name", "잘못");
DataAnnotation으로 유효성 검사
[Required]
[Required(ErrorMessage="이러쿵저러쿵")]
ModelState.IsValid로 컨트롤러 단에서 유효성 체크
[기타]
_Layout.cshtml에서 섹션 만들기
@RenderSectin("featured", false)
@section featured {}
참여해 주셔서 감사드립니다~~~
추가적인 HOL은 WebCamps Training Kit 설치 후 아래 경로의 문서를 참고하시기 바립니다.
C:\WebCampsTK\HOL\BringingTogetherOneAspNet\HOL.htm