第 8 章 管理者ページの実装
ここまでで、Doking's BLOG の基本機能が実装されました。ただし、管理者は、ユーザーがDoking's BLOGに有害な情報を投稿しないように、ユーザーが投稿したメモや返信を厳重に管理する最高の「死活権限」を持っています。
(1) 空の APS.NET VB 動的ページ glllogin.aspx を新規作成し、フォーム glfrm を挿入し、テーブルを挿入します。設定は図 8-1 に示すとおりです。
図 8-1 glogin のページデザイン
(2) 管理者に対応するテキストボックスの ID を GLY、パスワードに対応するテキストボックスの ID を GLPASS とします。
(3) 図 8-2 に示すように、データ セット gly を追加し、フィルターに設定します。
図 8-2 データセット gly の追加
(4) 「詳細」ボタンをクリックし、図 8-3 に示すようにパラメータ @GLPASS を追加します。
図 8-3 パラメータ @GLPASS の追加
(5) データセット gly 詳細ダイアログ ボックスで、SQL コマンドを図 8-4 に示すものに変更します。
図 8-4 データセット gly 詳細ダイアログボックス
(6) コードビューに切り替えて、図 8-5 に示すコードを <html> タグの前に挿入します。
図 8-5 <html> タグの前にコードを挿入し
(7)、glllogin.aspx を保存します。
前のセクションから、管理者が正常にログインすると、Doking の BLOG のホームページにリンクされて学習ノートを管理することがわかります。ただし、前の章では、index.aspx には学習ノートを削除する機能がありませんでした。このセクションでは、この機能を追加します。
(1) 図 8-6 に示すように、表 ztre の最初の行に、「削除」というテキストを含む 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)で
、図のように[ラベル]パネルの[プロパティ]タブに切り替え、「全般」項目を展開し、「値」項目の動的データをクリックします。 8-9 。
図 8-9 ZTID ラベル属性パネル
(5) 図 8-10 に示すように、ポップアップ「ダイナミック データ」ダイアログ ボックスで、データ セット Ztre の下のフィールド ZTID を選択し、「OK」キーを押します。
図 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) 「OK」キーを押して「レコード削除」サーバービヘイビアーの追加を完了します。コード ビューに切り替えて、図 8-13 の赤い丸で示すように、「レコードの削除」サーバー動作の元のコードを見つけます。
図 8-13 「レコード削除」サーバービヘイビアーの元のコード
(10) 図 8-2-8 に示すように、5、8、12、13、14 行目のコードを削除し、Debug の値を設定します。 10 行目を true に変更します。これを false に変更し、変更後の図 8-14 の赤い丸で示すように、新しい動作 id="del1" を追加します。
図 8-14 変更後の「レコード削除」の元コード del1 サーバの動作
(11) 図 8-2-9 の赤丸で示したコード、つまり変更後の「レコード削除」の元コードをコピーします。 del1 サーバーの動作を変更し、図 8-15 に示すように、適切な場所に貼り付けて ID を「del2」に変更します。
図 8-15 del2「レコード削除」サーバー動作の追加
(12) 図 8-16 の赤丸で示したコードを、ページロードによってトリガーされるイベント page_load に挿入します。
図 8-16 ページの読み込みによってトリガーされるイベント page_load に挿入されるコード
ノート返信管理と学習ノート管理の原則と方法は一貫しています。
(1) Index.aspx を開き、ASP ラベル Label1、フォーム コントロール ZTID およびボタン GLG をコピーし、hf.aspx を開き、これら 3 つのコントロールを図 8-17 に示す位置に貼り付け、フォーム コントロール ZTID の ID を次のように変更します。 HFID。
図 8-17 hf.aspx へのコントロールの貼り付け
(2) HFID チェックボックスをオンにし、[ラベル]パネルの[プロパティ]タブに切り替え、「全般」項目を展開し、「値」項目の動的データをクリックします。図 8-18 に示すように、ポップアップの [Dynamic Data] ダイアログ ボックスで、データ セット Hfre の下のフィールド HFID を選択し、[OK] キーを押します。
図 8-18 動的データウィンドウ
(3) Index.aspx の「del1」をコピーして、サービスの動作を記録した元のコードを削除し、hf.aspx に貼り付けます。
(4) 図 8-19 の赤丸で示したコードを、hf.aspx ページのページ読み込みトリガー イベント page_load に挿入します。
図 8-19 h ページロードトリガーイベント page_load へのコードの挿入
(5) フォーム yhplfrm の元のコードを見つけて、それをフォーム ztre タグの前に移動します。結果を図 8-20 に示します。
図 8-20 フォーム yhplfrm のラベルの移動
(6) 図 8-21 の赤丸で示したコードをフォームの Hftab ラベルの前に挿入します。
図 8-21 table Hftab タグの前にコードを挿入
(7) フォーム yhplfrm 終了タグ </form> を table ztre タグの後に移動し、図 8-22 赤丸で示したコードを table Hftab タグの後に挿入します。
図 8-22 表の Hftab ラベルの後にコードを挿入して
注意してください。管理者がログアウトするという問題もあります。これは読者の知恵に委ねられています。注意として、 session("GLY") を null 値または空の文字列に設定するだけです。