📘 第4章:ASP.NET Web Pages – 文件夹(Folders)

📂 网站常见文件夹结构

一个典型的 ASP.NET Web Pages 网站项目,推荐采用如下的文件夹组织方式:

/Site
  |_ /Pages             # 所有 .cshtml 页面
  |_ /App_Data          # 数据库文件(如 .sdf)
  |_ /Scripts           # JavaScript 文件
  |_ /Styles            # CSS 样式表
  |_ /Images            # 图像资源
  |_ /Helpers           # 可复用的代码(如 Razor Helpers)
  |_ /Shared            # 布局、页眉页脚、导航等共享部分

🗂️ 各文件夹作用详解

✅ /Pages(主页面)

  • 所有可访问的 .cshtml 页面文件应放在此目录或其子目录下。
  • 支持子文件夹结构,如 /Pages/Admin/Index.cshtml

✅ /App_Data

  • 用于存放数据库文件,如 SQL Server .sdf 文件。
  • 示例:
/App_Data/MyDatabase.sdf

  • ASP.NET 不允许用户通过浏览器直接访问此目录中的文件,适合存放敏感数据。

✅ /Scripts

  • 放置 JavaScript 文件,通常包括:
/Scripts/jquery-3.7.0.min.js
/Scripts/custom.js

  • 页面中引用方式:
<script src="/Scripts/jquery-3.7.0.min.js"></script>

✅ /Styles

  • 存放 CSS 文件:
/Styles/site.css

  • 页面中引用方式:
<link rel="stylesheet" href="/Styles/site.css" />

✅ /Images

  • 存放网站用到的图像资源:
/Images/logo.png

  • 页面中使用:
<img src="/Images/logo.png" alt="Site Logo" />

✅ /Helpers

  • 存放自定义的辅助方法文件,如 Razor helper:
@helper FormatPrice(decimal price) {
    <span class="price">@price.ToString("C")</span>
}

✅ /Shared

  • 存放共享布局与 UI 片段,如:
/Shared/_Layout.cshtml
/Shared/_Header.cshtml
/Shared/_Footer.cshtml

  • 使用方式(在页面中包含):
@RenderPage("~/Shared/_Header.cshtml")


📁 文件夹访问限制说明

ASP.NET Web Pages 默认将以下文件夹设为不可直接通过 URL 访问:

  • /App_Data
  • /bin
  • /App_Start

这有助于防止用户访问敏感数据或应用程序内部资源。

🛠 文件夹命名建议

  • 使用小写或驼峰式命名,避免特殊字符和空格
  • 避免使用保留关键字(如 “con”、“nul” 等)

🌐 出站链接推荐

📚 参考资料

  1. Microsoft Learn – Web Pages 文件结构
  2. Stack Overflow – 关于文件组织的讨论:asp.net-webpages + folder-structure
  3. 《ASP.NET Web Pages in Action》一书相关章节