Dreamwaver MX 및 ASP.NET(6)
저자:Eve Cole
업데이트 시간:2009-05-31 21:06:05
6. 기록 수정 페이지 생성
관련 소개(참고: 코드를 표시하기 위해 다음 코드는 모두 "<" 뒤와 ">" 앞에 공백이 있습니다. 불편을 끼쳐드려 죄송합니다!):
데이터 추가, 수정 및 삭제는 데이터베이스의 세 가지 기본 작업입니다. 이 섹션에서는 수정 기록 부분을 소개합니다.
STEP 1 디자인 수정 과정
일반적으로 지정된 레코드만 업데이트하면 되므로 질의를 위해서는 검색 페이지를 구축해야 하며, 질의 결과는 결과 페이지에 표시되며 사용자는 이를 수정할 수 있습니다. 마지막으로 제출 작업을 통해 업데이트 작업이 완료됩니다.
먼저 쿼리 페이지를 만듭니다. 데이터 세트를 생성하는 과정에서 데이터 필터 필터를 통해 필요한 데이터를 선택할 수 있습니다. 이 페이지에 도달하기 위해 DataList의 링크를 클릭할 것이므로 URL 매개변수를 선택하고 키워드 CODE를 사용하여 필수 페이지를 필터링합니다.
[그림 6-1 데이터 필터링]
이렇게 하려면 사이트에 새 수정.aspx 파일을 만들고 위에 표시된 대로 DataSet을 추가합니다.
Step2 세부정보 페이지 생성
링크를 생성하려면 먼저 탐색 페이지가 설정되어야 합니다. 섹션 3에서 만든 DataGrid 페이지를 수정하여 이러한 탐색 효과를 얻을 수 있습니다. DataGrid의 스타일이 수정되며, 연결된 텍스트를 표시하도록 데이터 항목을 설정할 수도 있습니다. 세부 정보 페이지에 대한 하이퍼링크를 설정하는 DataList 및 Repeater에서도 동일한 기능을 구현할 수 있습니다.
원본 location2.aspx 파일을 열고 원본 DataList 스타일을 수정합니다. DataListm을 선택하고 열 편집을 클릭합니다(그림 6-2). 팝업 DataGrid 스타일 디자인 대화 상자(그림 6-3)에서 Location_name 유형을 Hyperlink로 설정할 수 있습니다. Location_name을 선택하고 열 유형 변경 버튼을 클릭하면 하이퍼링크로 변경됩니다.
[그림 6-2 컬럼 편집..]
[그림 6-3 하이퍼링크 설정]
하이퍼링크 설정은 아래와 같습니다.
[그림 6-4 링크 키워드 설정]
표시된 데이터 필드 Location_name, 연결 키워드는 코드, 이동해야 하는 페이지는 수정.aspx 페이지입니다. 링크를 클릭하면 특정 URL 링크가 표시됩니다.
http://yoursite/modify.aspx?CODE=클릭한 기록의 코드 값
수정.aspx 페이지는 전달된 코드 값을 통해 데이터베이스에서 필요한 레코드도 쿼리합니다.
수정.aspx 페이지에서 데이터를 업데이트하려면 양식을 사용해야 합니다. 이를 위해서는 데이터 레코드를 입력 상자에 바인딩해야 합니다. Dreamweaver MX의 데이터 바인딩은 Dreamweaver UltraDev의 데이터 바인딩과 유사합니다. 그림 6-5와 같이 페이지를 설정합니다. 6개의 새 텍스트 필드, 1개의 HiddenField 및 1개의 제출 버튼을 만들고 적절한 위치에 배치하세요. HiddenField는 이 레코드의 CODE 값을 저장하는 데 사용됩니다. 코드 값은 키워드이므로 변경할 필요가 없습니다.
[그림 6-5 수정.aspx 페이지]
바인딩 레이블을 클릭하고 특정 데이터 항목을 해당 텍스트 필드로 드래그합니다. 동시에 형식에서 데이터 표시 유형을 설정할 수 있습니다. 텍스트 필드의 모든 속성을 데이터 소스에 바인딩할 수도 있습니다. 레코드의 첫 번째 드롭다운을 선택하세요.
[그림 6-6 바인딩] [그림 6-7 데이터 타입 선택] [그림 6-8 바인딩 속성]
목록에서 데이터 소스에 바인딩된 텍스트 필드 속성을 설정합니다.
STEP 3 데이터 업데이트
데이터 업데이트의 경우 애플리케이션 패널의 서버 동작에서 "+" 버튼을 클릭하고 기록 업데이트를 선택할 수 있습니다.
[그림 6-9 업데이트 기록 선택]
[그림 6-10 설정 연관]
팝업 대화 상자에서 입력 상자를 해당 업데이트된 데이터 소스와 연결하고 데이터 유형을 설정해야 합니다. 그 중 CODE는 Primary Key라는 키워드여야 합니다. 레코드 삽입 페이지와 유사하게 페이지 추가에 성공하거나 페이지 추가에 실패할 경우 페이지가 이동할 페이지도 설정해야 합니다.
이제 완성된 페이지를 미리 볼 수 있습니다. URL http://yoursite/location3.aspx를 입력하면 그림 6-11과 같은 페이지가 표시됩니다.
[그림 6-11 location3.aspx 페이지 탐색]
Location_name 항목을 클릭하면 세부 정보 페이지 수정.aspx로 이동합니다.
[그림 6-12 업데이트 페이지 미리보기]
기존 데이터는 수정.aspx 페이지를 통해 수정할 수 있으며, 양식 제출 이벤트를 통해 데이터를 업데이트할 수 있습니다.
업데이트된 주요 코드는 다음과 같습니다.
<MM:업데이트
runat="서버"
CommandText='< %# "위치 설정 도시=?, 주_국가=?, 팩스=?, 전화=?, 주소=? 어디에 코드=?"
ConnectionString='< %# System.Configuration.ConfigurationSettings.AppSettings("MM_CONNECTION_STRING_location") % >'
DatabaseType='< %# System.Configuration.ConfigurationSettings.AppSettings("MM_CONNECTION_DATABASETYPE_location") % >'
표현식='< %# Request.Form("MM_update") = "form1" % >'
CreateDataSet="false"
SuccessURL='< %# "location3.aspx" % >'
디버그="참"
>
<파라미터>
< Parameter Name="@CITY" Value='< %# IIf((Request.Form("city") < > Nothing), Request.Form("city"), "") % >' Type="WChar" />
< Parameter Name="@STATE_COUNTRY" Value='< %# IIf((Request.Form("state") < > Nothing), Request.Form("state"), "") % >' Type="WChar" />
< Parameter Name="@FAX" Value='< %# IIf((Request.Form("fax") < > Nothing), Request.Form("fax"), "") % >' Type="WChar" />
< Parameter Name="@TELEPHONE" Value='< %# IIf((Request.Form("tele") < > Nothing), Request.Form("tele"), "") % >' Type="WChar" />
< Parameter Name="@ADDRESS" Value='< %# IIf((Request.Form("address") < > Nothing), Request.Form("address"), "") % >' Type="WChar" />
< Parameter Name="@CODE" Value='< %# IIf((Request.Form("hiddenField") < > Nothing), Request.Form("hiddenField"), "") % >' Type="WChar" />
< /매개변수 >
< /MM:업데이트 >
Dreamweaver MX는 mm:update를 사용하여 업데이트된 코드를 나타냅니다. 형식은 MM:Insert와 유사합니다.