チュートリアル: Web フォーム ページの Visual Studio での HTML の高度な編集

Microsoft Visual Studio は、Web ページを作成するための豊富な HTML 編集機能を備えています。 このチュートリアルでは、Visual Studio のいくつかの高度な HTML 編集機能について説明します。 HTML の基本的な編集については、「チュートリアル: Web フォーム ページの Visual Studio での Web ページのコード編集」を参照してください。

注意

このトピックの例は、ASP.NET Web フォーム ページに固有のものです。ただし、Web フォーム ページ、ASP.NET MVC (モデル ビュー コントローラー) ビュー、ASP.NET Web ページ ページ、HTML ページでマークアップの HTML 書式設定オプションを使用できます。

このチュートリアルでは、以下のタスクを行います。

  • HTML エディターがソース ビューでマークアップを表示する方法のオプションを指定します。

  • ページの作成に使用する HTML エディターと HTML5 などの特定のスキーマ (マークアップ標準) が互換性を持つようオプションを選択します。

  • ページをアウトライン表示にします。つまり、エディターの領域を折りたためるようにして、表示を簡素化します。

必須コンポーネント

このチュートリアルを完了するための要件は次のとおりです。

  • Visual Studio での作業方法の基本的な知識。

Visual Studio の概要については、「チュートリアル: Web フォーム ページの Visual Studio での Web ページのコード編集」を参照してください。

Web サイトおよびページの作成

(「チュートリアル: Web フォーム ページの Visual Studio での Web ページのコード編集」を完了するなどして) Visual Studio で既に Web フォーム プロジェクトを作成してある場合は、次のセクションに進んでください。 それ以外の場合は、次の手順に従って、Web プロジェクトおよびページを作成します。

ファイル システム Web サイト プロジェクトを作成するには

  1. Visual Studio を開きます。

  2. [ファイル] メニューの [新規作成] をポイントし、[Web サイト] をクリックします。

    [新しい Web サイト] ダイアログ ボックスが表示されます。

    注意

    このチュートリアルでは、Web サイト プロジェクトを使用します。代わりに、Web アプリケーション プロジェクトを使用することもできます。これらの Web プロジェクトの種類の違いについては、「Web アプリケーション プロジェクトと Web サイト プロジェクト」を参照してください。

  3. [インストールされたテンプレート] の下で、使用するプログラミング言語を選択します。

  4. テンプレート ペインで、[ASP.NET Web フォーム サイト] を選択します。

  5. [場所] ボックスに、Web サイトのページを格納するフォルダーの名前を入力します。

    たとえば、フォルダー名として「C:\WebSites」と入力します。

  6. [OK] をクリックします。

  7. ソリューション エクスプローラーで、Web サイト名を右クリックし、[新しい項目の追加] を選択します。

  8. [インストールされたテンプレート] で、使用する言語を選択します。

  9. [テンプレート] ペインで [Web フォーム] を選択します。

  10. [追加] を選択します。

マークアップの書式指定

HTML エディターには、ページのマークアップの書式を指定するための豊富なオプションが用意されており、必要に応じて使用できます。 主な書式指定オプションには次のものがあります。

  • タグと属性名の大文字と小文字の指定。 HTML のタグと ASP.NET Web サーバー コントロールに別々にオプションを設定できます。

  • 追加する属性を、引用符で囲むかどうかの指定。

  • エディターで自動的に要素を閉じるかどうかの指定。 終了タグ (たとえば、<br />) を自動的に生成するか、開始タグと終了タグ (<p></p>) を生成するか、終了タグを自動的に挿入するかなどのオプションがあります。

  • タグの子要素のインデント方法。

  • タグの前後での改行位置。

いずれの書式指定オプションを選択したかにかかわらず、エディターのマークアップの最終的なレイアウトと表示方法はユーザーが決定できます。 要素を手動で書式設定できます (インデントなど)。 ユーザーがマークアップの再書式設定を明示的に要求しない限り、エディターでの書式設定は変更されません。

チュートリアルのこのセクションでは、マークアップのエディターでの表示に影響する設定を変更し、これらの変更による影響を確認します。 また、ページ全体、またはページの中の選択した範囲に対する書式指定についても説明します。

既定の書式指定オプションを持つ HTML 要素を追加するには

  1. デザイン ビューに切り替えます。

  2. [テーブル] メニューの [テーブルの挿入] をクリックします。 このダイアログ ボックスでは、既定の設定値を一切変更しないでください。

  3. [OK] をクリックします。

    デザイナーにより、2 列 2 行の HTML テーブルが作成されます。

  4. テーブルの下で、作業するページをクリックします。

  5. Enter キーを何度か押して、空白を作成します。次に、ツールボックスの [HTML] グループから Image コントロールをページにドラッグします。

  6. ソース ビューに切り替えます。

    <table> 要素と <img> 要素がページに挿入されています。 <img> 要素が強調表示されます。

    既定では、デザイナーで作成される要素は、タグと属性名は小文字で記述され、属性は引用符で囲まれます。

次に、書式指定オプションを変更できます。

書式指定オプションと検証オプションを変更するには

  1. [ツール] メニューの [オプション] をクリックします。

  2. [テキスト エディター] をクリックし、[HTML] を展開し、[検証] をクリックします。

  3. [ターゲット] ボックスの一覧の [HTML5] を選択します。

    注意

    検証対象に手動で新しいページの既定のスキーマを選択する代わりに、[スキーマ検出の検証に doctype を使用] を選択できます。このオプションは、検証に使用するスキーマを決定するためにページの DOCTYPE 宣言を使用するように Visual Studio に指示します。このチュートリアルでは、ターゲットのスキーマの選択がエディターの動作に及ぼす影響がわかるように、このチェック ボックスをオフにしたままにします。

  4. [書式設定] を選択します。

    前の手順で [HTML5] を選択したので、[クライアント タグ] および [クライアント属性] ボックスが使用できるようになっています。 [ターゲット] の設定を [XHTML5] のままにしておくと、XHTML5 では小文字を使用する必要があるので、これら 2 つのボックスは小文字に設定され、使用できなくなります。

    注意

    特定のサーバー タグ (ASP.NET サーバー コントロール) とクライアント タグ (HTML 要素) の一部のオプションは、[タグ指定オプション] をクリックして個別に設定できます。この機能は後で使用します。

  5. [クライアント タグ] オプションを [大文字] に設定します。

  6. [入力中に属性値の引用符を挿入する] チェック ボックスと [フォーマット中に属性値の引用符を挿入する] チェック ボックスをオフにします。

  7. [OK] をクリックして、エディターに戻ります。

    書式指定オプションを変更したにもかかわらず、ページにある既存のマークアップには変化がありません。

次に新しい要素を追加します。

新しい書式指定オプションを使用して HTML 要素を追加するには

  1. ソース ビューで、ページの最後までスクロールします。

  2. ツールボックスの [HTML] グループから Table コントロールをページにドラッグし、</form> タグの上に配置します。

    ここでは、<TABLE> 要素のタグが大文字で表示されます。

  3. 作成したテーブルの下にカーソルを置き、新しいタグの始まりの左山かっこ (<) を入力します。

    すべてのタグ名が大文字で書かれた一覧が表示されます。これは、それを既定値にしたためです。

  4. 「img」と小文字で入力します。

    IMG と大文字で一覧に表示され、タグの新しい既定の大文字小文字の区別が反映されます。

  5. Space キーを押します。

    <IMG が大文字でページに入力され、タグの属性の一覧が表示されます。 ここでは属性は小文字で表記されています。これは、書式指定オプションで [クライアント属性] を既定の設定である [小文字形式] のままとしたためです。

  6. 「src=」と入力します。

    通常、エディターは等号の後で二重引用符の組を提供します。 ただし、[入力中に属性値の引用符を挿入する] オプションを無効にしたため、エディターは引用符を提供しません。

    注意

    ただし、空白が含まれている属性値を [プロパティ] ウィンドウで入力した場合は、オプションの設定にかかわらず、属性は引用符で囲まれます。

  7. 「Graphic.gif」と入力します (架空のファイル名)。

    タグは次のようになります。

    <IMG src=Graphic.gif 
    
  8. スラッシュ (/) と右山かっこ (>) を入力して、<img> タグを閉じます。 または、スペースと右山かっこを入力すると、エディターがスラッシュを自動的に入力します。

書式オプションを変更しても、ページの既存のマークアップは影響を受けません。 ただし、ページやページのどの部分にでも書式設定を手動で追加できます。

書式指定を既存の要素に適用するには

  1. ソース ビューで、作成した最初のテーブルを選択します (小文字のマークアップでのもの)。

  2. [編集] メニューの [書式の選択] をクリックします。

    タグ名が、大文字に変換されます。

    注意

    引用符を削除するようにオプションを設定しても、引用符は自動的に削除されません。同様に、既存のタグの終了方法を指定するオプションを変更しても、既存のタグの終了方法は変更されません。

ツールボックスプロパティなどの編集ツールを使用して要素を編集した場合、エディター上では現在の書式指定オプションに基づいてマークアップが生成されます。 ただし、エディターが既存のマークアップを変更することはありません。 既存のマークアップに新しい書式オプションを適用するには、[編集] メニューの [ドキュメントのフォーマット][選択範囲のフォーマット] を使用します。

schs05kd.collapse_all(ja-jp,VS.110).gifタグの書式指定オプションの設定

ここまでに学習した書式指定オプションは、ページ上のすべての要素に適用されます。 必要に応じて、書式指定オプションを個々のタグに適用することもできます。 この方法は、頻繁に使用する特定のタグがあり、しかも、そのタグに対し既定の書式以外の書式を指定する場合に便利です。 個々のタグに対する書式指定では、次の書式指定オプションを使用します。

  • タグの閉じ方 (閉じない、自己終了、終了タグの使用)

  • タグの前後と内側での改行方法

  • タグの子要素のインデント方法。

    注意

    HTML エディターは、タグの内容がブラウザーに表示される方法を変更するタグの表示の設定を無視します。

チュートリアルのこの部分では、タグの複数の書式オプションを設定します。 ここまでで、<table> 要素などの HTML 要素について学習しました。 ここで、いくつかの ASP.NET Web サーバー コントロールを操作して、書式指定オプションがコントロールと要素に同じように適用されることを確認します。

まず、特定の種類のタグ全体に適用されるオプションを設定します。 次の種類の要素にオプションを設定できます。

  • br や input などの、内容がない HTML 要素。

  • table や span などの、内容がある HTML 要素。

  • asp:image などの、内容を含むことができないサーバー要素 (asp:)。

  • asp:textbox などの、内容を含むことができるサーバー要素。

セキュリティに関するメモセキュリティに関するメモ

TextBox コントロールはユーザー入力を受け付けますが、これはセキュリティ上の脅威になる可能性があります。既定では、ASP.NET Web ページによって、ユーザー入力にスクリプトまたは HTML 要素が含まれていないかどうかが検証されます。詳細については、「スクリプトによる攻略の概要」を参照してください。

このセクションでは、まず HTML テーブルを追加します。 次に、テーブル要素のタグ書式指定規則を変更し、文書の書式を変更して、その効果を確認します。

HTML テーブルのタグ書式指定規則を設定するには

  1. ソース ビューで、ウィンドウの何も表示されていない部分を右クリックし、[書式と入力規則] をクリックします。

    注意

    [書式と入力規則] は、ソース ビューでのみ使用できます。

    [オプション] ダイアログ ボックスが開き、前のセクションで設定した書式指定オプションが表示されます。

  2. [クライアント タグ] ボックスの [小文字形式] をクリックして、クライアント タグの書式指定をリセットします。

  3. [OK] をクリックして、[オプション] ダイアログ ボックスを閉じます。

  4. ツールボックスの [HTML] グループから、Table コントロールをソース ビューにドラッグします。

    エディターに、3 つの行 (<tr> 要素) で構成され、各行に 3 つのセル (<td> 要素) がある <table> 要素が作成されます。 個々のタグは、別々の行に表示されます。

    <table>
        <tr>
            <td>
                &nbsp;
           </td>
        </tr>
    
  5. ウィンドウの何も表示されていない部分を右クリックし、[書式と入力規則] をクリックします。

  6. [タグ指定オプション] をクリックします。

  7. [既定の設定] を展開します。

    タグの種類の一覧が表示されます。先頭に [クライアント タグはコンテンツをサポートしない] があります。 [既定の設定] では、内容がある要素 (table 要素など) と内容がない要素 (img 要素など) に対し、クライアント要素とサーバー要素に異なるオプションを設定できます。

  8. [クライアント タグはコンテンツをサポートする] をクリックします。

    既定の設定では、タグには個別の終了タグが使用されており、また、タグの前後と内側に改行がある点に注意してください。

  9. [クライアント HTML タグ] を展開します。

  10. [td] を選択します。

    td タグの書式指定方法を変更するオプションを設定します。

  11. [改行] ボックスの [なし] をクリックします。

  12. [OK] をクリックして [タグ指定オプション] ダイアログ ボックスを閉じ、次に [OK] をクリックして [オプション] ダイアログ ボックスを閉じます。

  13. [編集] メニューの [ドキュメントのフォーマット] をクリックします。

    ドキュメントの書式指定が変更されました。 テーブルに追加した <td> タグが、1 行に配置されています。