1

ページ固有の css および js ファイルを追加できるように、タイトルのすぐ下に新しい ContentPlaceHolder (HeadContent) を追加しました。しかし、マスター ページを使用して新しいビューを作成すると、ページ レイアウトの既定のテキストが配置され、ページの最後に HeadContent の開始/終了タグが配置されます。残念ながら、視覚的には 1 番目、2 番目、3 番目のタグとして表示され、ページの html を最後のタグに入力し始めます。しかし、これは 2 番目のものであるため、BodyContent プレースホルダーではありません。戻って正しい場所にコピー/貼り付けする必要があります。うーん。念のため、マスター ページ内のすべてのタグをスクランブルして、ビューで何が起こるかを確認しました。案の定、VS.NET はマスター ページの順序を無視し、毎回同じように並べ替えます。

VS がマスター ページと同じ順序でプレース ホルダー タグを並べ替えないのはなぜですか? 実際には、どうすればそれを停止して、マスター ページにある順序で実行できますか?

4

1 に答える 1

0

Visual Studio が行っていること (私が推測) は、MVC ビュー コンテンツ テンプレートの読み込みです。すべてのコンテンツがマスター ページから順不同である理由は、Visual Studio Extensiblity がテンプレートを読み込み、テンプレート データの後にテンプレートにない ContentPlaceHolders を追加するためだと思います。

プログラム ファイルの Visual Studio ファイルに移動してから、Common7\IDE\ItemTemplates\CSharp\Web\MVC2 に移動すると、テンプレートがどのように表示されるかを確認できます。

VB 用のフォルダもあります。いずれの場合でも、そのディレクトリにある zip ファイルを開き、.aspx ページに到達するまでドリルダウンすると、[新規追加/ビューの追加] を実行したときに VS がプロジェクトに挿入しているものを確認できます。

于 2010-11-17T20:26:56.787 に答える