목차 일부
제1부 웹 사이트 개발의 기초 다지기
제1장 준비 및 시작 ... 24
1 인터넷의 기초 ... 24
1.1 인터넷의 주소 ... 25
1.2 프로토콜 ... 26
1.3 웹 서버와 클라이언트 ... 26
1.4 웹 서버 프로그램 ... 26
1.5 인터넷의 서비스 .....
더보기
목차 전체
제1부 웹 사이트 개발의 기초 다지기
제1장 준비 및 시작 ... 24
1 인터넷의 기초 ... 24
1.1 인터넷의 주소 ... 25
1.2 프로토콜 ... 26
1.3 웹 서버와 클라이언트 ... 26
1.4 웹 서버 프로그램 ... 26
1.5 인터넷의 서비스 ... 27
1.6 인터넷 웹의 작동을 위한 요소들 ... 27
1.7 인터넷 웹의 작동 원리 ... 28
2 ASP.NET의 기초 및 발전 과정 ... 29
2.1 ASP.NET의 배경 ... 29
2.2 .NET Framework ... 31
2.3 ASP.NET의 특성 ... 33
2.4 ASP.NET의 장점 ... 35
3 ASP.NET 2.0의 소개 ... 36
3.1 ASP.NET 2.0 버전의 목표 ... 36
3.2 ASP.NET 2.0의 장점 ... 37
3.3 ASP.NET 2.0의 그 밖의 새로운 기능들 ... 37
4 ASP.NET 2.0의 개발 환경 및 설치 ... 44
4.1 개발을 위한 작업 환경 ... 44
4.2 운영 체제, 웹 서버 그리고 .NET FRAMEWORK ... 45
4.3 인터넷 정보 서비스(IIS)의 설치 ... 46
4.4 Microsoft .NET Framework 2.0의 설치 ... 47
4.5 Microsoft SQL Servr 2005 시험판의 설치 ... 47
4.6 SQL Server 2005의 샘플 데이터베이스 설치 ... 48
4.7 Microsoft Visual Studio 2005 혹은 Visual Web Developer의 설치 ... 49
5 실습 예제들을 위한 가상 디렉터리 생성 ... 50
6 실습을 통한 ASP.NET 페이지와 다른 페이지의 비교 ... 53
6.1 단순한 HTML 페이지 ... 53
6.2 클라이언트 스크립트를 포함하는 HTML 페이지 ... 55
6.3 ASP 코드로 작성된 웹-페이지 ... 57
6.4 ASP.NET 코드로 작성된 웹-페이지 ... 58
6.5 ASP.NET의 고급 기능의 예 ... 61
제2장 ASP.NET 페이지의 구조와 작동원리 ... 62
1 ASP.NET 페이지의 작성 방법 ... 62
1.1 ASP.NET 파일 ... 62
1.2 ASP.NET 코드 삽입 방법 ... 63
2 ASP.NET 샘플 페이지 ... 73
2.1 Login.aspx ... 73
3 ASP.NET 페이지의 기본 구조 ... 78
3.1 ASP.NET 웹 페이지의 특성 ... 78
3.2 ASP.NET 지시자 ... 79
3.3 코드 선언 블록 : 〈script runat="server"〉 ... 82
3.5 기타 ... 90
4 ASP.NET 페이지의 작동 원리 ... 91
4.1 객체지향 프로그래밍 ... 91
4.2 이벤트 구동 프로그래밍 ... 93
5 웹 애플리케이션의 구조 ... 98
5.1 ASP.NET 웹 사이트 파일 타입 ... 99
제3장 페이지 객체의 활용 ... 102
1 페이지 클래스 ... 102
1.1 이벤트 ... 102
1.2 페이지 클래스의 속성 ... 112
2 페이지의 상태 관리 ... 128
2.1 페이지의 왕복 여행과 IsPostBack 속성 ... 128
2.2 페이지의 재생성과 뷰 상태 ... 129
2.3 페이지의 상태 관리 ... 131
3 페이지의 실행 절차 ... 134
3.1 웹 폼 페이지의 실행 단계 ... 135
3.2 ASP.NET 페이지의 수명 주기 ... 136
제4장 표준 웹 서버 컨트롤 ... 139
1 서버 컨트롤 개요 ... 139
1.1 HTMLControl과 WebControl ... 140
1.2 HTML 서버 컨트롤 ... 141
2 웹 서버 컨트롤 ... 142
2.1 서버 컨트롤의 삽입 방법 ... 143
3 WebControl 클래스 ... 144
4 Label 웹 서버 컨트롤 ... 145
5 TextBox 웹 서버 컨트롤 ... 148
6 Button 웹 서버 컨트롤 ... 152
7 LinkButton 웹 서버 컨트롤 ... 157
8 ImageButton 웹 서버 컨트롤 ... 158
9 HyperLink 웹 서버 컨트롤 ... 160
10 RadioButton 웹 서버 컨트롤 ... 162
11 CheckBox 웹 서버 컨트롤 ... 165
12 CheckBoxList 웹 서버 컨트롤 ... 169
13 DropDownList 웹 서버 컨트롤 ... 172
14 ListBox 웹 서버 컨트롤 ... 175
15 RadioButtonList 웹 서버 컨트롤 ... 178
16 BulletedList 웹 서버 컨트롤 ... 180
17 Image 웹 서버 컨트롤 ... 183
18 ImageMap 웹 서버 컨트롤 ... 185
19 Table, tableRow, TableCell 웹 서버 컨트롤 ... 188
20 HiddenField 웹 서버 컨트롤 ... 191
21 Literal 웹 서버 컨트롤 ... 193
22 Calendar 웹 서버 컨트롤 ... 196
23 AdRotator 웹 서버 컨트롤 ... 201
24 FileUpLoad 웹 서버 컨트롤 ... 204
25 MultiVIew 웹 서버 컨트롤 ... 27
26 Panel 웹 서버 컨트롤 ... 209
27 PlaceHolder 웹 서버 컨트롤 ... 212
제5장 유효성 검사 컨트롤 ... 218
1 ASP.NET 웹 페이지의 사용자 입력 유효성 검사 ... 218
1.1 유효성 검사가 가능한 컨트롤 ... 218
1.2 유효성 검사 컨트롤 ... 219
1.3 유효성 검사 객체 모델 ... 220
2 기본 Validator ... 221
2.1 BaseValidator ... 221
2.2 BaseComparaValidator ... 222
3 Validation 컨트롤들 ... 222
3.1 RequiredFieldValidator 컨트롤 ... 222
3.2 CompareValidator 컨트롤 ... 226
3.3 RangeValidator 컨트롤 ... 232
3.4 RegularExpressionValidator 컨트롤 ... 235
3.5 CustomValidator 컨트롤 ... 238
3.6 ValidationSummary 컨트롤 ... 246
4 유효성 검사 그룹 지정 ... 249
4.1 ValidationGroup 속성 ... 249
4.2 Page 클래스의 추가 기능 ... 250
4.3 검사 그룹의 지정 ... 250
4.4 ValidationGroup 속성의 예 ... 250
5 Validatioon 컨트롤의 클라이언트 측 작업 ... 257
5.1 서버 측과 클라이언트 측 유효성 검증 ... 257
5.2 클라이언트 측 유효성 검사 ... 257
5.3 클라이언트 측 유효성 검사의 다른 점 ... 258
5.4 클라이언트 측 유효성 검사 객체 모델 ... 258
5.5 클라이언트 측 유효성 검사 오류의 표시 ... 259
6 컨트롤의 유효성 검사 해제 ... 267
제6장 데이터 컨트롤 ... 268
1 데이터 액세스의 새로운 기능 ... 268
2 데이터 컨트롤 ... 270
2.1 데이터 소스 컨트롤을 이용한 데이터 바인딩 ... 270
2.2 데이터 바운드 컨트롤 ... 271
3 데이터베이스에의 바인딩 ... 274
3.1 연결 문자열의 설정 ... 274
3.2 SQLDataSource 컨트롤 ... 277
4 GridView 컨트롤 ... 285
4.1 간단한 레포트의 작성 ... 286
4.2 GridView 컨트롤의 BoundFields ... 286
4.3 데이터의 정렬과 페이징 ... 288
4.4 데이터의 갱신과 삭제 ... 296
4.5 데이터의 필터링 ... 299
5 DetailsView 컨트롤 ... 302
5.1 단순한 마스터-디테일 페이지 ... 302
5.2 데이터의 편집 기능의 추가 ... 305
5.3 데이터의 삽입 기능의 추가 ... 308
5.4 별도 페이지의 마스터-디테일 ... 311
6 FormView 컨트롤 ... 319
7 Repeater 웹 서버 컨트롤 ... 323
7.1 템플릿 ... 324
7.2 데이터 바인딩 ... 325
7.3 이벤트 ... 325
8 DataList 웹 서버 컨트롤 ... 329
8.1 데이터 바인딩 ... 329
8.2 컨트롤의 레이아웃을 위한 템플릿 ... 329
8.3 항목의 레이아웃 ... 331
8.4 이벤트 ... 335
8.5 항목의 편집 및 선택 ... 336
제7장 사용자 컨트롤 ... 342
1 사용자 컨트롤이란 무엇인가? ... 342
2 사용자 컨트롤의 생성 ... 343
3 사용자 컨트롤의 사용 ... 344
4 사용자 컨트롤 객체의 프로퍼티 ... 346
4.1 Public Variable 타입 프로퍼티 ... 346
4.2 Set와 Get 함수를 사용하는 프로퍼티 ... 348
5 사용자 컨트롤의 메소드 ... 358
6 LoadControl 메소드를 이용한 사용자 컨트롤의 사용 ... 364
제8장 SQL 저장 프로시저 ... 372
1 Transact-SQL 언어와 저장 프로시저 ... 372
1.1 저장 프로시저의 장점 ... 372
1.2 Transact SQL 언어의 SQL 확장 ... 373
2 저장 프로시저의 생성 및 실행 ... 375
2.1 CREATE PROCEDURE 문 ... 375
2.2 EXECUTE 문 ... 376
2.3 저장 프로시저의 변경 및 삭제 ... 376
3 저장 프로시저의 작성 및 등록 절차 ... 376
3.1 시나리오의 작성 ... 377
3.2 기본 SQL 문 작성 ... 377
3.3 기본 SQL 문을 이용한 시나리오 테스트 ... 377
3.4 매개변수의 할당 ... 377
3.5 시나리오의 저장 프로시저 변환 ... 378
3.6 저장 프로시저의 등록 ... 378
3.7 저장 프로시저의 테스트 ... 378
4 저장 프로시저 작성 절차 : 간단한 사례 ... 378
4.1 시나리오의 작성 ... 381
4.2 기본 SQL 문 작성 ... 381
4.3 기본 SQL 문을 이용한 시나리오 테스트 ... 382
4.4 매개 변수의 할당 ... 382
4.5 시나리오의 저장 프로시저 변환 ... 383
4.6 저장 프로시저의 등록 ... 384
4.7 저장 프로시저의 테스트 ... 385
5 저장 프로시저 작성 절차 : 복잡한 사례 ... 386
5.1 시나리오의 작성 ... 386
5.2 기본 SQL 문 작성 ... 387
5.3 기본 SQL 문을 이용한 시나리오 테스트 ... 388
5.4 매개변수의 할당 ... 389
5.5 시나리오의 저장 프로시저 변환 ... 390
5.6 저장 프로시저의 등록 ... 392
5.7 저장 프로시저의 테스트 ... 394
제2부 웹 사이트의 개발
제9장 Visual Studio 2005의 사용법 ... 400
1 ASP.NET 2.0 웹 사이트의 개발 환경 ... 400
2 Visual Studio 2005와 VWDE ... 401
2.1 Visual Studio 2005 ... 401
2.2 VWDE(Visual Web Developer 2005 Express) ... 401
3 Visual Studio 2005의 구조 ... 402
3.1 시작 페이지 ... 402
3.2 작업 공간 ... 403
4 Visual Studio 2005를 이용한 웹 사이트의 개발 ... 408
5 Visual Studio 2005의 HTML 편집 기능 ... 429
5.1 디자인 뷰에서 작업하기 ... 429
5.2 소스 뷰에서 작업하기 ... 437
5.3 요소 사이의 탐색 ... 440
제10장 마스터 페이지의 활용 ... 444
1 마스터/컨텐트 페이지 시스템 ... 444
1.1 개요 ... 444
1.2 마스터 페이지 ... 445
1.3 컨텐트 페이지 ... 449
2 마스터 페이지와 레이아웃 ... 453
3 복수의 ContentPlaceHolder 컨트롤의 지원 ... 460
4 중첩 마스터 페이지 ... 466
5 기존 페이지의 마스터 페이지 사용을 위한 변환 ... 471
6 마스터 페이지의 이점 및 작동 원리 ... 474
6.1 마스터 페이지의 이점 ... 474
6.2 마스터 페이지의 실시간의 작동 절차 ... 474
6.3 마스터와 컨텐트 페이지에서의 이벤트 ... 475
6.4 마스터 페이지의 범위 ... 476
7 마스터 페이지 요소에 대한 참조 ... 477
7.1 마스터 페이지에 있는 공유 속성의 참조 ... 477
7.2 마스터 페이지에 있는 컨트롤의 참조 ... 480
8 기타 마스터 페이지에서의 참조 ... 483
8.1 마스터 페이지에서의 경로 ... 483
8.2 외부 자원의 참조 ... 484
8.3 마스터 페이지에서의 CSS의 사용 ... 484
제11장 웹 사이트의 탐색 기능 ... 486
1 사이트 맵과 탐색 컨트롤 ... 486
1.1 웹 페이지의 계층적 구조 ... 486
1.2 Web.sitemap 파일 ... 487
1.3 탐색 컨트롤 ... 493
2 SiteMapPath 컨트롤 ... 494
2.1 작동 원리 ... 494
2.2 SiteMap 공급자 ... 497
2.3 SiteMapPath 컨트롤의 동작 속성 ... 497
2.4 SiteMapPath의 스타일 속성 ... 501
2.5 SiteMapPath 컨트롤의 템플릿 ... 504
3 SiteMapDataSource 컨트롤 ... 508
4 Menu 컨트롤 ... 509
4.1 메뉴의 데이터를 위하여 SiteMapDataSource 컨트롤을 사용하는 경우 ... 509
4.2 메뉴의 데이터를 위한 XMLDataSource 컨트롤의 사용 ... 512
4.3 Menu 컨트롤의 데이터로 Menultems 컬렉션을 사용하는 경우 ... 516
4.4 Menu 컨트롤의 속성 ... 522
5 TreeView 컨트롤 ... 525
5.1 트리 뷰 ... 525
5.2 단순한 TreeView 컨트롤의 예 ... 526
5.3 TreeView 컨트롤의 요소들 ... 529
5.4 노드의 타입과 속성 ... 529
5.5 LevelStyles 컬렉션 ... 529
5.6 TreeView 컨트롤의 Databindings 컬렉션 ... 530
5.7 SiteMapDataSource 컨트롤을 이용한 TreeView 컨트롤 ... 531
제12장 사이트의 외장을 위한 테마와 스킨 ... 539
1 개요 ... 539
1.1 페이지 테마 ... 539
1.2 전역 테마 ... 541
1.3 테마의 요소 ... 542
1.4 테마 설정과 로컬 컨트롤 설정 ... 544
1.5 테마에서 정의할 수 있는 속성들 ... 545
1.6 테마와 CSS의 다른 점 ... 545
2 Visual Studio 2005에서의 페이지 테마의 작성 ... 545
2.1 테마의 정의 ... 546
2.2 스킨 파일의 생성 ... 548
2.3 CSS 스타일시트의 작성 ... 551
3 ASP.NET 테마의 적용 ... 559
3.1 테마를 웹 사이트 수준에서 적용하는 방법 ... 559
3.2 테마를 개별 페이지 수준에서 적용하는 방법 ... 560
3.3 스킨을 컨트롤에 적용하는 방법 ... 560
제13장 사용자 생성과 로그인 ... 565
1 멤버쉽 서비스 ... 565
1.1 Membership 클래스와 MembershipUser 클래스 ... 565
1.2 멤버쉽 공급자 ... 567
1.3 멤버쉽 사용을 위한 사이트의 구성 ... 567
1.4 멤버쉽 시스템 ... 570
1.5 멤버쉽 시스템의 구성과 관리 ... 570
2 로그인 컨트롤 ... 571
2.1 Login 컨트롤 ... 571
2.2 CreateUserWizard 컨트롤 ... 572
2.3 LoginView 컨트롤 ... 572
2.4 LoginStatus 컨트롤 ... 572
2.5 LoginName 컨트롤 ... 573
2.6 PasswordRecovery 컨트롤 ... 573
2.7 ChangePassword 컨트롤 ... 573
3 역할 관리자 ... 574
4 사용자 만들기 ... 576
4.1 CreateUserWizard 컨트롤 ... 576
4.2 CreateUserWizard 컨트롤의 구성 요소 ... 576
4.3 CreateUserWizard 컨트롤의 속성 ... 577
5 ASPNETDB.MDF 데이터베이스 ... 585
6 사용자의 추가 정보를 위한 새로운 단계의 추가 ... 587
6.1 CreateUserWizard 컨트롤에 새로운 단계 추가 ... 587
6.2 사용자의 추가 정보 - CreateUserWizard 의 템플릿 ... 591
7 로그인 기능의 구현 ... 600
7.1 Login 컨트롤의 구성 요소 ... 600
7.2 Login 컨트롤의 속성 ... 604
7.3 Login 컨트롤의 템플릿 ... 607
7.4 LoginName 컨트롤 ... 609
7.5 LoginStatus 컨트롤 ... 610
8 암호 변경 및 복구 ... 616
8.1 ChangePassword 컨트롤 ... 616
8.2 PasswordRecovery 컨트롤 ... 625
9 웹 사이트 관리 도구를 이용한 사용자 역할 관리 ... 633
제14장 데이터 액세스 레이어의 구현 ... 634
1 개요 ... 634
2 데이터 액세스 레이어의 데이터 타입 ... 635
2.1 타입 데이터 집합과 비즈니스 객체 ... 635
2.2 타입 데이터 집합을 이용한 데이터 액세스 레이어 ... 637
3 사례 연구를 위한 준비 ... 639
3.1 개요 ... 639
3.2 DoumiService 웹 사이트의 생성 ... 639
3.3 데이터베이스, 테이블 및 저장 프로시저 생성하기 ... 640
3.4 DoumiService 데이터베이스에 대한 연결을 추가하기 ... 641
4 데이터 집합을 이용한 데이터 액세스 레이어의 생성 ... 643
5 데이터 액세스 개체들의 사용 ... 653
6 직접 DB 갱신과 일괄 DB 갱신 ... 656
7 XML 스키마 파일 ... 663
8 테이블 어댑터에 매서드를 추가하기 ... 664
9 DataAccess 클래스의 생성 및 사용 ... 671
9.1 DataAccess 클래스의 생성 ... 671
9.2 데이터 액세스 클래스의 사용 ... 674
10 테이블 어댑터 vs. 데이터 액세스 클래스 ... 678
제15장 웹 파트와 개인화 ... 680
1 웹 파트 개요 ... 680
1.1 웹 파트 컨트롤 ... 680
1.2 웹 파트 속성의 편집 ... 682
1.3 개인화와 웹 파트 ... 682
2 기본적인 웹 파트 페이지의 작성 ... 683
2.1 웹 파트 추가하기 ... 683
2.2 디자인 모드 추가하기 ... 687
2.3 Catalog 모드 추가하기 ... 690
2.4 Editor 모드 추가하기 ... 694
3 맞춤 웹 파트 페이지의 작성 ... 697
3.1 사용자 컨트롤 생성하기 ... 697
3.2 CatalogZone에 사용자 컨트롤 추가하기 ... 698
3.3 편집 가능한 속성 추가하기 ... 702
3.4 개인화의 재설정 기능 추가하기 ... 707
제3부 프로젝트
프로젝트 1 사이트 설계와 준비 ... 712
프로젝트 2 데이터베이스 설계 및 생성 ... 724
프로젝트 3 페이지의 레이아웃 설정하기 ... 735
프로젝트 4 테마와 스타일 시트 사용하기 ... 745
프로젝트 5 탐색 기능 구현하기 ... 758
프로젝트 6 로그인 기능 구현과 보안 설정 ... 768
프로젝트 7 사용자 생성과 프로필 작성 ... 792
프로젝트 8 데이터 액세스 레이어(DAL)의 생성 ... 808
프로젝트 9 삽입과 수정 기능을 위한 페이지의 작성 ... 831
프로젝트 10 서비스 목록 페이지 작성 ... 844
프로젝트 11 회원 홈 페이지와 관리자 메뉴 ... 862
찾아보기 ... 886
더보기 닫기