Dreamwaver MX および ASP.NET(6)
著者:Eve Cole
更新時間:2009-05-31 21:06:05
6.レコード変更ページの作成
関連紹介 (注: コードを表示するために、次のすべてのコードには「<」の後と「>」の前にスペースが含まれています。ご迷惑をおかけして申し訳ありません。):
データの追加、変更、削除は、データベースに対する 3 つの基本操作です。このセクションでは、変更記録部分を紹介します。
STEP 1 デザイン修正プロセス
一般に、指定されたレコードのみを更新する必要があるため、クエリに対して検索ページを確立する必要があります。クエリ結果は結果ページに表示され、ユーザーはそれらを変更できます。最後に、送信操作を通じて更新タスクが完了します。
まず、クエリページを作成します。データセットを作成するプロセスでは、データ フィルター Filter を通じて必要なデータを選択できます。このページにアクセスするには DataList 内のリンクをクリックするため、URL パラメータを選択し、キーワード CODE を使用して必要なページをフィルタリングします。
[図6-1 データのフィルタリング]
これを行うには、サイトに新しいmodify.aspxファイルを作成し、上記のようにDataSetを追加します。
Step2 詳細ページの作成
リンクを生成するには、まずナビゲーション ページを確立する必要があります。セクション 3 で作成した DataGrid ページを変更して、このようなナビゲーション効果を実現できます。 DataGrid のスタイルが変更され、リンクされたテキストを表示するようにデータ項目を設定することもできます。同じ機能は DataList と Replyer でも実現でき、どちらも詳細ページへのハイパーリンクを設定します。
元の location2.aspx ファイルを開き、元の DataList スタイルを変更します。 DataListm を選択し、「列の編集」をクリックします (図 6-2)。ポップアップ DataGrid スタイル設計ダイアログ ボックス (図 6-3) で、Location_name のタイプを Hyperlink に設定できます。 Location_name を選択し、[列の種類の変更] ボタンをクリックして、ハイパーリンクに変更します。
[図 6-2 列の編集..]
[図6-3 ハイパーリンクの設定]
ハイパーリンクの設定は以下の通りです。
[図6-4 リンクキーワードの設定]
表示されるデータ フィールドは Location_name、接続キーワードは code、ジャンプ先のページはmodify.aspx ページです。リンクをクリックすると、特定の URL リンクが表示されます。
http://yoursite/modify.aspx?CODE=クリックされたレコードのコード値
また、modify.aspx ページは、渡されたコード値を通じてデータベースから必要なレコードをクエリします。
edit.aspx ページのデータを更新するには、フォームを使用する必要があります。これには、データ レコードを入力ボックスにバインドする必要があります。 Dreamweaver MX のバインディング データは、Dreamweaver UltraDev のデータと似ています。図 6-5 に示すようにページを設定します。 6 つの新しいテキスト フィールド、1 つの hiddenField、および 1 つの送信ボタンを作成し、適切な場所に配置します。 hiddenField は、このレコードの CODE 値を保存するために使用されます。コード値はキーワードであるため、変更する必要はありません。
[図 6-5 「modify.aspx」ページ]
「バインディング」ラベルをクリックし、特定のデータ項目を対応するテキストフィールドにドラッグします。同時に、Format でデータの表示タイプを設定できます。テキスト フィールドのすべてのプロパティをデータ ソースにバインドすることもできます。レコードの最初のドロップダウンを選択します
[図6-6 バインディング] [図6-7 データ型の選択] [図6-8 バインディング属性]
リストでは、データ ソースにバインドされたテキスト フィールド プロパティを設定します。
STEP3 データ更新
データの更新については、アプリケーション パネルのサーバー動作の「+」ボタンをクリックし、レコードの更新を選択します。
[図6-9 更新レコードの選択]
[図6-10 関連付けの設定]
ポップアップ ダイアログ ボックスで、入力ボックスを対応する更新されたデータ ソースに関連付け、データ型を設定する必要があります。その中で、CODEは主キーというキーワードになるはずです。 「レコードの挿入」ページと同様に、ページの追加が成功した場合と失敗した場合にジャンプするページも設定する必要があります。
完成したページをプレビューできるようになりました。 URL http://yoursite/location3.aspx を入力すると、図 6-11 に示すページが表示されます。
[図 6-11 location3.aspx ページの閲覧]
Location_name 項目をクリックすると、詳細ページmodify.aspxにジャンプします。
[図6-12 更新ページのプレビュー]
既存のデータは、modify.aspx ページを通じて変更でき、データはフォーム送信イベントを通じて更新できます。
主に更新されたコードは次のとおりです。
<MM:更新
runat="サーバー"
CommandText='< %# "UPDATE LOCATIONS SET CITY=?、STATE_COUNTRY=?、FAX=?、TELEPHONE=?、ADDRESS=? WHERE CODE=?"
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" % >'
デバッグ = "true"
>
<パラメータ>
< パラメータ名="@CITY" 値='< %# IIf((Request.Form("city") < > Nothing), Request.Form("city"), "") % >' Type="WChar" />
< パラメータ名="@STATE_COUNTRY" 値='< %# IIf((Request.Form("state") < > Nothing), Request.Form("state"), "") % >' Type="WChar" />
< パラメータ名="@FAX" 値='< %# IIf((Request.Form("fax") < > Nothing), Request.Form("fax"), "") % >' Type="WChar" />
< パラメータ名 = "@TELEPHONE" 値 = '< %# IIf((Request.Form("tele") < > Nothing), Request.Form("tele"), "") % >' Type="WChar" />
< パラメータ名="@ADDRESS" 値='< %# IIf((Request.Form("アドレス") < > Nothing), Request.Form("アドレス"), "") % >' Type="WChar" />
< パラメータ名="@CODE" 値='< %# IIf((Request.Form("hiddenField") < > Nothing), Request.Form("hiddenField"), "") % >' Type="WChar" />
< /パラメータ >
< /MM:更新 >
Dreamweaver MX は、mm:update を使用して更新されたコードを表します。その形式は MM:Insert に似ています。