これはASPではなく、ASP.NETです。また、レイアウトが大きく異なるMVCではなくWebFormsであることにも注意してください。
とにかく、ディレクトリ構造はめちゃくちゃです、それはひどいです。何が問題なのですか。
- 静的なHTMLファイルとASP.NETWebフォームファイルの間の不潔なミッシュマッシュ
- コードファイル(例
contact.aspx.cs
)は、アプリケーションがコンパイルされているように見えるときにサーバー上に存在するため(bin
ディレクトリがあるため)、サーバー上に存在するべきではありません。
- フォルダとファイル名の大文字と小文字に一貫性はありません。すべて小文字のものもあれば、TitleCaseのものもあります。
- フォルダが重複しているようですが、「画像」と「img」の違いは何ですか?
- いったい何のために「欠けている」と「レイアウト」があるのでしょうか?
- 重複した、まとまりのないファイル
index.html
などindex1.html
。
次に、他にもいくつかの懸念事項がありますが、それらは開発者の好みによるものです。
- 通常、プロジェクトには1つまたは2つのMasterPageファイルしかないため、ルートフォルダーの外にあることは意味がありません。
*.master
ファイルをアプリケーションのルートに直接配置します。
- スタイルシートに関連する画像は、兄弟フォルダーではなく、スタイルシートと同じディレクトリに配置する必要があります(「css」フォルダー内のスタイルシートによって参照される画像は、実際には「img」にあると想定しています)。これは、CSSファイルを複雑にし(内部に相対パスがあるため)、アプリケーションをより脆弱にするため、悪いことです。
Fonts
繰り返しになりますが、スタイルシートによって参照されるフォントファイルが含まれているようです。それらはすべて、単一の「スタイル」フォルダーの下に配置する必要があります。
- スタイルシートで使用される画像ではなく、画像の「コンテンツ」(つまり
<img src="" />
要素)は、スタイルシートの画像とは別に保持する必要があります。これが、混乱を招く「img」フォルダと「Images」フォルダがある理由だと思います。
それを行う正しい方法に関しては、ASP.NET WebFormsは、きちんと整理されたアプリケーションにつながりません。各(書き換えられていない)URIはファイルに直接対応するため、*.aspx
ファイルシステムのレイアウトがWebサイトのレイアウトと一致する必要があることを意味します。ASP.NETルーティングを実装しない限り、それについてできることはあまりありません。
また、すべてのHTMLファイルを削除し、必要に応じてUserControlsとMasterPagesを最大限に活用するASPXファイルに変換することをお勧めします。