[MVC3 뒷북치기-3] 레이아웃 마스터해요

.NET/MVC 3 뒷북치기 2011. 5. 16. 09:00

안녕하세요. 지난 [MVC3 뒷북치기-2] 레이저 그 심플함이란 후 한달 이라는 시간이 흘렀네요;; 참 포스팅이 늦어요. 이제 이런 모습 보이면 안되겠죠?^^; 이번 시간은 레이아웃에 대해 알아보도록 하겠습니다. 레이아웃을 마스터페이지라고 생각하면 된다고 말씀 드렸던 것 같은데요. "레이아웃 마스터해요" 이제 시작하도록 하겠습니다.^^ 아참. 예제는 지난 시간에 했던 프로젝트에서 진행하겠습니다. 마스터 1단계 일단 레이아웃부터 살펴보겠습니다. DOCTYPE html> @ViewBag.Title @RenderBody() 먼저 보이는 것은 @ViewBag.Title 로 이는 각 뷰페이지에서 세팅하고 있죠? 지난 시간 Index 페이지에서 봤던 @{ ViewBag.Title = “Index”; } 이 부분이 ..

Article Thumbnail
[MVC3 뒷북치기-2] 레이저 그 심플함이란

.NET/MVC 3 뒷북치기 2011. 4. 19. 14:00

안녕하세요. 이번 시간은 MVC 3에 가볍게 추가된 레이저(Razor)에 대해 알아보겠습니다. 간단(?)하니까요. 살~짝 살펴볼까요? 먼저 레이저 면상은? 모두 ASP.NET MVC 3 가 준비되셨나요? 아직도 되어있지 않다면 설치부터 하세요! 자, 새 프로젝트를 열도록 하겠습니다. 웹 템플릿에서 ASP.NET MVC 3 Web Application 을 선택 한 후, RazorSample 을 입력하고 확인버튼을 클릭합니다. MVC 2 에서는 새 프로젝트 생성 화면에서 빈 프로젝트와 하나의 어플리케이션이 기본적으로 만들어져 있는 프로젝트를 선택하였는데요, 버전 3에서는 위 화면에서 선택하네요. 물론 단위 테스트 프로젝트 생성 여부도 같이 선택할 수 있습니다. 지금은 Empty 프로젝트로 생성한 후 진행하도..

Article Thumbnail
[MVC3 뒷북치기-1] ASP.NET MVC 3 다운로드

.NET/MVC 3 뒷북치기 2011. 4. 19. 14:00

안녕하세요. 정~말 오랜만에 MVC 로 다시 인사를 드리네요^^ ASP.NET MVC 3 가 릴리즈 된 것은 다들 아시죠? 나온지 한참 되었지만 뭐 뒷북치는 마음으로 이제 시작하려고 합니다. 제가 MVC 를 버전 2 부터 접했는데요. 벌써 버전 3이 나오다니.. 할 말이 없네요. 지금 제 글을 읽고 계시는 분들! 아직 늦은 것이 아닙니다. 지금 저와 함께 버전 3부터 시작하셔도 ASP.NET MVC 는 충분히 활용 가능한 프레임웍이 될 듯 싶습니다. 뒷북한번 쳐보자구요^^ MVC 에 관련한 지난 글들은 저의 각방생활 시리즈를 통해 확인해주세요^^; ASP.NET MVC 3 다운 그래서 MVC 3 가 뭐더냐? 일단은 MVC 3 이 나오면서 새롭게 추가된 것을 말씀 드리겠습니다.(그럼 기존 것들은 어떻게 하..

M, V 그리고 C의 각방생활(12) - 테스팅 그거, 아무나 하나?

.NET/MVC 2 각방생활 2010. 8. 16. 14:30

정말이지, 테스팅 그거 아무나 하는거 아니죠.. 특히 저처럼 게으른 놈은 발을 들여놓기가 무서울때도 있습니다. 고객분들은 빠른 결과물을 얻길 원하시고, 그 고객이 여럿이면 모두가 자기의 일이 우선이니 빨리 좀 해달라고 아우성 거릴때가 많습니다. 가뜩이나 개발로도 벅찬 시간인데, 테스트라뇨.. 에잇! 하지만, 그렇게 작업을 한 후 스테이징(Staging Server - 라이브 서버에 반영하기 전 배포하여 테스트하는 서버입니다^^) 에 적용해놓으면 테스트팀에서는 온갖 방법으로(정말 어처구니 없는 입력값으로 마구 공격(?)해 들어오시죠) 테스트를 한 후 결과물들을 전달해주시죠. 그것 예외처리하는 것으로 인해 또한번의 시간이 소비되고 다시 테스트하고 다시 결과물 받고, 계속 반복되는거죠. 그렇게되면, 처음에 빨..

M, V 그리고 C의 각방생활(11) - jqGrid로 추가,편집,삭제해보기

.NET/MVC 2 각방생활 2010. 8. 11. 11:00

잊고 계셨을지도 모를 jqGrid 마지막편입니다. 이번 시간은 jqGrid를 이용하여 데이터를 추가, 편집, 삭제해보는 시간을 가져보도록 하겠습니다. 뷰페이지부터 보죠 지난 포스팅에 이어나갑니다. 먼저 가장 중요한 스크립트 부분을 보시면, var updateDialog = { url: '' , closeAfterAdd: true , closeAfterEdit: true , modal: true , onclickSubmit: function (params) { var ajaxData = {}; var list = $("#list"); var selectedRow = list.getGridParam("selrow"); rowData = list.getRowData(selectedRow); ajaxData =..

M, V 그리고 C의 각방생활(10) - jqGrid를 이용한 paging과 sorting

.NET/MVC 2 각방생활 2010. 7. 15. 09:00

안녕하세요. 지난 시간에는 jqGrid를 이용해서 리스트를 구현해봤습니다. 정말 맛보기였죠? :) 이번 시간은 실제 데이터베이스에서 데이터 조회, 페이징과 정렬부분을 다루도록 하겠습니다. 먼저 데이터베이스 생성 테이블 구조는 다음과 같습니다. 컬럼명 데이터 타입 dirId int name nvarchar(50) phone nvarchar(50) email nvarchar(50) speedDial decimal(2,0) 그냥 기본세팅이죠^^; 엔터티 모델 클래스를 생성할 건데요, 자세히(?)를 원하신다면 이전 포스팅을 참고해주세요^^; 완료가 되면, 여기까지 잘 오셨죠? 저는 Entity Set Name을 TelDir에서 TelDirSet으로 변경하였습니다. 헷갈려서요^^;; 자. 이제는 본격적(?)으로 ..

M, V 그리고 C의 각방생활(8) - jQuery와 탭메뉴 그리고 파샬뷰

.NET/MVC 2 각방생활 2010. 7. 1. 09:00

안녕하세요. 늦바람이 무섭다고 하는데요. jQuery를 향한 늦바람이 불어주길 바라는 1인입니다. ㅎㅎ 이렇게 간단해도 되는겨? 이번 포스팅을 준비하면서 정말 jQuery의 놀라운 힘에 다시 한번 놀랐습니다. 이렇게 간단히 탭메뉴를 넣는게 가능했던건가요? 준비물 준비 먼저, jQueryUI 사이트에서 jquery-ui-1.8.2.custom.zip 파일을 다운받습니다. 압축을 푸시면 jquery-ui-1.8.2.custom.min.js 와 jquery-ui-1.8.2.custom.css 파일이 있습니다.(각각 js폴더와 css폴더에 있습니다.) 이 두 파일을 프로젝트의 Content와 Scripts 폴더에 추가시킵니다. 이제 준비는 됐고요. 준비끝! 예제로! Index.aspx 페이지 소스입니다. 홈 페..

M, V 그리고 C의 각방생활(7) - 함께 즐겨요~ jQuery

.NET/MVC 2 각방생활 2010. 6. 30. 09:00

지금 잠을 자면 꿈을 꿀 수 있지만, 잠을 자지 않으면 꿈을 이룰 수 있다고 하죠. 그래서 이렇게 눈꺼풀이 내려오는데도 버티고 있는가 봅니다^^; 이 글을 읽고 있는 분들도 꿈을 위해 노력하고 계신거겠죠? 귀 따갑다 jQuery 고마해라~ 마이 들었다 아이가~. 너무 들어서 지겨울 만큼의 jQuery. 이제 시작합니다. 이렇게 늦게 jQuery를 들쳐보는 저를 용서하시고, 격려의 한말씀 해주시면 정말 감사하겠습니다. :) 그런데, jQuery 정말 다들 아시는거죠? jQuery가 뭔데? 아직도 jQuery를 모른단 말인가?! 자네 정말 웹 관련 일하는 사람이 맞긴 맞는건가? 어헣. 이런 말이 오고가진 않아야 겠죠? jQuery 공식 홈페이지에는 다음과 같은 말이 떡~하니 있습니다. jQuery is a ..

M, V 그리고 C의 각방생활(6) - 유효성 검사(2)

.NET/MVC 2 각방생활 2010. 6. 27. 09:00

유효성 검사 안끝난겨? 네. 아직입니다. ^^; 원래는 마무리를 지으려고 했었는데요. 갑자기 jQuery 가 급땡기는 바람에 슬슬 관련글을 적어보렵니다. 클라이언트단에서 유효성검사하기 지난번 포스팅을 보시면, 서버단의 모델 클래스에 DataAnnotaion을 사용하여 유효성검사를 했습니다. 물론, 클라이언트단에서도 자바스크립트를 사용하여 유효성검사를 할 수 있지만, 이는 동일한 유효성 검사를 두번(서버와 클라이언트) 하게됩니다. DRY(Don't Repeat Yourself) 규칙에 위반되는 작업인 거죠. 근데 왜? 저 아시는 분 없죠? 듣보잡인거죠. 그래서 이렇게 앞뒤가 없습니다. 이번 포스팅을 먼저 했으면 하는 마음도 있지만, 뭐 이렇게 된 것 그냥 적어내려갑니다.^^ DRY에 반하는 작업을 한다고 ..

M, V 그리고 C의 각방생활(4) - 유효성 검사

.NET/MVC 2 각방생활 2010. 5. 31. 09:00

안녕하세요. 지난 포스팅에 이어서(넘흐 오랜만이죠^^;) 시작하겠습니다. 아마 다들 잊으셨을 겁니다. 여기까지 했었죠? _db.SaveChanges() 를 하려 했더니, 에러가 발생했습니다. 자세히 들여다 보니 ID 에 NULL 값을 넣을 수가 없다네요. 이래서 에러가 발생했죠. 아~ 이래서 사용자가 빈 값을 넣으려 하면 막아야하겠구나~ 라는 생각이 번뜩 드셨을겁니다. 유효성 검사! 유효성검사라 하면 필수입력값에는 꼭 데이터를 입력해야하고, 데이터의 타입이나 길이에 맞게 들어오게 체크하는 것을 말하겠죠? ASP.NET MVC 프레임워크에서는 모델 스테이트(Model State)를 제공합니다. 정확히 말하면 model state dictionary 라고 해서 유효성 에러들을 표시하기 위해 사용됩니다. 유효..

M, V 그리고 C의 각방생활(3) - 초간단 사이트 만들기(1)

.NET/MVC 2 각방생활 2010. 4. 1. 09:12

안녕하세요. 추운날씨 잘 견디셨죠? 이제야 좀 어깨펴고 글좀 쓰겠네요. 자~ 오늘도 함께하시죠^^ 이번에는 MVC로 사이트를 만드는 시간을 가져보려합니다. 간단하게 회원가입, 로그인, 게시판 정도로 해볼 생각입니다. 오늘은 첫번째로 회원가입을 해보도록 하겠습니다. 너무 썰렁하더라도 옷 단단히 더 껴입으시고 웃음으로 넘어가 주세요^^; DB 생성하기 사용자 테이블을 만들어봐야죠^^ 테이블 컬럼은 다음과 같습니다. 컬럼명 데이터 타입 SEQ int ID nvarchar(50) NAME nvarchar(50) PWD nvarchar(50) EMAIL nvarchar(100) EMAIL_YN char(1) RGST_DT datetime 다음의 순서대로 테이블을 생성하겠습니다. 1. SQL Server DataB..

M, V 그리고 C의 각방생활(2) - ASP.NET MVC와 인사나누기

.NET/MVC 2 각방생활 2010. 1. 14. 14:59

이번 시간은 ASP.NET MVC와 인사를 나눠보는 시간을 갖도록 하겠습니다. 반갑게 만나보도록 하죠^^ M, V, C의 각방생활 먼저 프로젝트를 생성합니다. 새 프로젝트 열기에서 ASP.NET MVC 2 Web Applicatoin 을 선택하고, 이름은 HelloMVC 로 하겠습니다. OK를 클릭하면 다음과 같이 유닛 테스트 프로젝트를 생성할 것인지 묻는 창이 뜹니다. (이게 ASP.NET MVC의 장점이라는 겁니다. 프로젝트 자체에서 유닛 테스트를 지원해주고 있습니다. 이 창에서 Yes 를 선택하면 간단하게 유닛테스트 프로젝트를 생성할 수 있습니다.) 이 시간은 유닛테스트와는 전혀 상관이 없는 관계로 No를 선택하도록 하겠습니다. 그러면, 다음과 같은 구조의 프로젝트가 생성된 것을 확인하실 수 있습니..

Article Thumbnail
M, V 그리고 C의 각방생활(1) - ASP.NET MVC vs ASP.NET WEB FORM

.NET/MVC 2 각방생활 2009. 12. 24. 09:00

첫번째 시간으로 ASP.NET MVC vs ASP.NET WEB FORM 에 대해 글을 써보도록 하겠습니다. 제 포스트는 ASP.NET MVC에 관한 글입니다.^^; 그래서 이 둘의 대결구도라기 보다는 웸폼의 문제점을 짚어보고 MVC에 좋은 점에 대해서 글을 써 나가려고 합니다. ASP.NET WEB FORM의 문제점? ASP.NET WEB FORM은 ASP.NET 개발의 전통적인 스타일이고, 큰 스케일의 웹사이트를 좀더 간단하게 만들게 해주는 기술입니다. 웹폼은 드래그 앤 드랍으로 컨트롤들을 ASP.NET 페이지에 추가하고 그것들에 맞는 코드를 작성합니다. 이러한 개발방식이 개발자들의 마음을 끄는거죠. 그!러!나! 웹폼은, ● 관계가 분리되어 있지 않습니다. UI와 코드가 섞여있죠--; ● 자동적으로 ..

Article Thumbnail