这不是 ASP,而是 ASP.NET;我还注意到它是 WebForms,而不是 MVC,它的布局非常不同。
反正目录结构乱七八糟,太可怕了。这是它的问题所在:
- 静态 HTML 文件和 ASP.NET webforms 文件之间的混搭
- 当应用程序看起来被编译时(因为它有一个目录),代码文件(例如
contact.aspx.cs
)存在于服务器上bin
,所以它们根本不应该在那里。
- 文件夹和文件名大小写不一致。有些都是小写,有些是 TitleCase。
- 您似乎有重复的文件夹,“Images”和“img”有什么区别?
- “缺失”和“布局”到底是为了什么?
- 重复,杂乱无章的文件
index.html
,index1.html
等等。
然后还有其他一些问题,但这些都取决于开发人员的偏好:
- 通常,项目只有一两个 MasterPage 文件,因此将它们放在根文件夹之外是没有意义的。我将
*.master
文件直接放在应用程序的根目录中。
- 与样式表相关的图像应该放在与样式表相同的目录中,而不是放在同级文件夹中(我假设“css”文件夹中的样式表引用的图像实际上位于“img”中)。这很糟糕,因为它使 CSS 文件复杂化(因为它内部有相对路径)并使您的应用程序更加脆弱。
Fonts
似乎再次包含样式表引用的字体文件。它们都应该放在一个“样式”文件夹下。
- 任何图像“内容”(即
<img src="" />
元素),而不是样式表中使用的图像,都应该与样式表图像分开,我假设这就是为什么你有令人困惑的“img”和“Images”文件夹。
至于正确的做法,ASP.NET WebForms 并没有将自己导向整洁、组织良好的应用程序。因为每个(非重写)URI 直接对应一个*.aspx
文件,这意味着文件系统布局必须与网站布局匹配。除非您实现 ASP.NET 路由,否则恐怕您无能为力。
我还建议删除所有 HTML 文件并将它们转换为 ASPX 文件,以便在适当的时候充分利用 UserControls 和 MasterPages。