Chapter 8 관리자 페이지 구현
지금까지 Doking BLOG의 기본 기능이 구현되었습니다. 다만, 관리자는 이용자가 도킹의 BLOG에 유해한 정보를 게시하는 것을 방지하기 위해 이용자가 게시한 댓글과 댓글을 엄격하게 관리하는 최고의 '사활권'을 가지고 있습니다.
(1) 새로운 빈 APS.NET VB 동적 페이지 gllogin.aspx를 생성하고 glfrm 형식을 삽입한 다음 테이블을 삽입합니다. 설정은 그림 8-1과 같습니다.
그림 8-1 gllogin의 페이지 디자인
(2) 관리자에 해당하는 텍스트 상자의 ID를 GLY, 비밀번호에 해당하는 텍스트 상자의 ID를 GLPASS로 합니다.
(3) 그림 8-2와 같이 데이터 세트 gly를 추가하고 필터로 설정합니다.
그림 8-2 데이터 세트 추가 gly
(4) 그림 8-3과 같이 "Advanced" 버튼을 클릭하고 @GLPASS 매개변수를 추가합니다.
그림 8-3 @GLPASS 매개변수 추가
(5) Data Set Gly Advanced 대화상자에서 SQL 명령을 그림 8-4와 같이 변경합니다.
그림 8-4 데이터 세트 글라이 고급 대화 상자
(6) 코드 보기로 전환하여 <html> 태그 앞에 그림 8-5에 표시된 코드를 삽입합니다.
그림 8-5 <html> 태그(7)
앞에 코드를 삽입하고
gllogin.aspx를 저장합니다.이전 섹션에서 관리자가 성공적으로 로그인하면 Doking의 BLOG 홈페이지로 연결되어 학습 노트를 관리하는 것을 볼 수 있습니다. 하지만 이전 장에서는 index.aspx에 학습노트를 삭제하는 기능이 없었습니다. 이 섹션에서는 이 기능을 추가합니다.
(1) ztre 테이블의 첫 번째 행에 그림 8-6과 같이 삭제 텍스트와 함께 asp 레이블 Label1을 삽입합니다.
그림 8-6 asp 라벨 Label1 삽입
(2) 그림 8-7과 같이 asp 라벨 Label1을 마우스 오른쪽 버튼으로 클릭하여 선택하고 바로가기 메뉴에서 "라벨 편집"을 선택한 후 "스타일 정보"를 선택하고 숨김으로 설정합니다.
그림 8-7 asp 레이블 Label1이 보이지 않도록 설정합니다.
(3) 양식 컨트롤 아래에 확인란을 삽입하고 이름을 ZTID로 지정하고 ID가 GLY인 양식 컨트롤 아래에 버튼을 삽입합니다. 결과는 그림 8-8과 같습니다. .
그림 8-8 ztre 테이블의 설정(4)에서
그림과 같이 [Label] 패널 아래의 [Properties] 탭으로 전환하고 "General" 항목을 확장한 후 "value" 항목에서 동적 데이터를 클릭합니다. 8-9 .
그림 8-9 ZTID 레이블 속성 패널
(5) 팝업 "동적 데이터" 대화 상자에서 그림 8-10과 같이 데이터 세트 Ztre 아래의 ZTID 필드를 선택하고 "확인" 키를 누릅니다.
그림 8-10 동적 데이터 창
(6) 상태 표시줄을 마우스 오른쪽 버튼으로 클릭하고 <input#ZIID>를 선택하여 빠른 편집 레이블 창을 열고 해당 레이블에 코드를 추가합니다:
style="visibility: <%# iif(session ("GLY") <>nothing,"visible","hidden")%>" value="<%# Ztre.FieldValue("ZTID", Container) %>"
그림 8-11의 진한 파란색으로 표시됩니다.
그림 8-11 <input#ZIID> 태그 빠르게 편집
(7) GLY 버튼을 선택하고 상태 표시줄을 마우스 오른쪽 버튼으로 클릭한 후 <input#GLY>를 선택하여 빠른 태그 편집 창을 열고 해당 태그에 코드를 추가합니다. :
style="visibility: <% # iif(session("GLY")<>nothing,"visible","hidden")%>" value="<%# Ztre.FieldValue("ZTID", Container) %> "
(8) "기록 삭제" 서버 동작을 추가합니다. 해당 설정은 그림 8-12와 같습니다.
그림 8-12 "레코드 삭제" 서버 비헤이비어 추가
(9) "레코드 삭제" 서버 비헤이비어 추가를 완료하려면 "확인" 키를 누릅니다. 그림 8-13의 빨간색 원에 표시된 것처럼 코드 보기로 전환하여 "레코드 삭제" 서버 동작의 원래 코드를 찾습니다.
그림 8-13 "Delete Record" 서버 비헤이비어의 원본 코드
(10) 그림 8-2-8과 같이 5, 8, 12, 13, 14 행의 코드를 삭제하고 Debug 값을 설정합니다. 10행을 true로 변경하고 수정 후 그림 8-14의 빨간색 원에 표시된 대로 id="del1"이라는 새 동작을 추가합니다.
그림 8-14 수정된 '기록 삭제' del1 서버 비헤이비어의 원본 코드
(11) 그림 8-2-9에서 빨간색 원 안에 표시된 코드, 즉 수정된 '기록 삭제'의 원본 코드를 복사한다. del1 서버 동작을 변경하고 그림 8-15와 같이 적절한 위치에 붙여넣고 ID를 "del2"로 변경합니다.
그림 8-15 del2 "record 삭제" 서버 비헤이비어 추가
(12) 페이지 로딩에 의해 발생하는 page_load 이벤트에 그림 8-16의 빨간색 원 안에 표시된 코드를 삽입합니다.
그림 8-16 페이지 로딩에 의해 발생하는 page_load 이벤트에 삽입된 코드
노트 답글 관리와 학습노트 관리의 원칙과 방법은 동일하다.
(1) index.aspx를 열고 asp 레이블 Label1을 복사하고 컨트롤 ZTID와 버튼 GLG를 복사한 다음 hf.aspx를 열고 이 세 컨트롤을 그림 8-17에 표시된 위치에 붙여 넣은 다음 폼 컨트롤 ZTID의 ID를 다음으로 변경합니다. HFID.
그림 8-17 hf.aspx에 컨트롤 붙여넣기
(2) HFID 체크 박스를 선택하고 [Label] 패널 아래 [Properties] 탭으로 전환한 후 "General" 항목을 확장하고 "value" 항목에서 Dynamic Data를 클릭합니다. . 팝업 "동적 데이터" 대화 상자에서 그림 8-18과 같이 데이터 세트 Hfre 아래의 HFID 필드를 선택하고 "확인" 키를 누릅니다.
그림 8-18 동적 데이터 창
(3) index.aspx의 "del1"을 복사하여 서비스 동작을 기록하는 원래 코드를 삭제하고 hf.aspx에 붙여넣습니다.
(4) hf.aspx 페이지의 페이지 로드 트리거 이벤트 page_load에 그림 8-19의 빨간색 원 안에 표시된 코드를 삽입합니다.
그림 8-19 h 페이지 로드 트리거 이벤트 page_load에 코드 삽입
(5) yhplfrm 형식의 원래 코드를 찾아서 ztre 형식 태그 앞으로 이동합니다. 결과는 그림 8-20과 같습니다.
그림 8-20 yhplfrm 폼의 라벨 이동
(6) 폼의 Hftab 라벨 앞에 그림 8-21의 빨간색 원 안에 표시된 코드를 삽입합니다.
그림 8-21 테이블 Hftab 태그 앞에 코드 삽입
(7) yhplfrm end 태그 </form> 폼을 테이블 ztre 태그 뒤로 이동하고, 그림 8-22의 빨간색 원 안에 표시된 코드를 테이블 Hftab 태그 뒤에 삽입합니다.
그림 8-22 테이블의 Hftab 라벨 뒤에 코드를 삽입하여
다음을 상기시키십시오. 관리자가 로그아웃하는 문제도 있으며 이는 독자의 두뇌 사용에 맡겨져 있습니다. 참고로 session("GLY")를 null 값이나 빈 문자열로 설정하세요.