ASP.Netでいってみる WebForm VB 1 マスタページのコンテンツプレスホルダー
実は、SQL Serverを使ったクラサバシステムのSEをやってたんで
第1章 Visual BasicによるWebシステム開発
第2章 データベースとSQLの基礎
第3章 システムの基本設計
第4章 SQL Serverデータベースの準備
ここまでは本に目を通す程度で流しちゃいました。
ちなみに、
データベースは、SQL Server 2012 Express Edition (64-bit)を
Visual Studio は、Visual Web Developer 2010 Express
をインストールしました。
では、第5章 リスト型画面の作成1-フォームの作成に突入 するも
4 データソースを登録する で進めなくなってしまった!
参考書によると、Webフォームデザイナーの[デザイン]画面でツールボックスから[SqlDataSource]をダブルクリックすると「フォーム上にデータソースのスマートタグが表示される」はずなのですが、[SqlDataSource]をダブルクリックしてもポピンと警告音がするだけ。
フォーム上にマウスを移動させるとアイコンは「車両通行止め」状態になってしまう。
いろいろ試行錯誤、新しいWebフォームを追加するときに「マスターページを選択」のチェックをはずしマスターページなしでフォームを追加すると、[SqlDataSource]が配置できることから、「マスターページの準備」の工程で何かのミスをしてる。
もう一度、「2 マスターページを準備する」をやり直す。
で気が付いたのがP94の以下の記述。
「以上で、マスタページの準備ができました。デザインビューに切り替えるとわかるように、作成直後のマスタページにはコンテンツプレスホルダー(ContentPlaceHolder)だけが配置されています。
このコンテンツプレスホルダーの内部は、マスターページを使用するWebフォームで個々のデザインを記述するための枠として使用するため、マスタページでは変更しないようにしてください。」
もう一度マスタページを見直すと、ContentPlaceHolderが見当たらなくなってる。
どうやら、タイトルバナーなどを配置する際の操作の部分
「コンテンツプレスホルダーをクリックしてから[←]を押し、[Enter]を押す。
⇒空の行が作成される」
ここで失敗したらしい。コンテンツプレスホルダーを変更もしくはコンテンツプレスホルダーを削除したみたい。
この操作はコンテンツプレスホルダーの前にコントロールを配置する為の操作なんですね。
失敗:
↑:ContentPlaceHolderがなくなってしまってる。
正解:
「マスタページでは、コンテンツプレスホルダーに個々のWebフォームのデザインが挿入されていることを念頭に置いて、その外側に共通のデザイン要素をのためのコントロールを配置します。」
この記述の意味を再確認できました。