diff --git "a/\350\265\265\346\231\223\345\217\266/20260112-mvc\344\270\255\347\232\204.md" "b/\350\265\265\346\231\223\345\217\266/20260112-mvc\344\270\255\347\232\204.md" new file mode 100644 index 0000000000000000000000000000000000000000..d0ba3130dec60c2dc3672b56e659dc9fc8fff84a --- /dev/null +++ "b/\350\265\265\346\231\223\345\217\266/20260112-mvc\344\270\255\347\232\204.md" @@ -0,0 +1,24 @@ +## 笔记 + +``` +bin +内容:编译后真正要跑起来的东西—— +当前项目的 *.dll / *.exe +引用的第三方 dll(NuGet 包、系统库等) +配置文件(如 .config、.json) +换句话说,“bin”就是“binary”的缩写,站点或程序启动时 CLR 只认这个目录。(跑程序时真正用到的“成品库”。) +obj +内容:编译过程的“草稿纸”—— +临时生成的 *.dll(中间 IL) +编译器缓存、响应文件、资源文件、.NET Core 的 project.assets.json 等 +这些文件不会随部署包一起发布,只是让 MSBuild 在增量编译时少干点活。 +名字来源:“object code”(目标代码)的缩写。(编译器自己用的“草稿纸”,可随意删。) +Properties +里面通常只有 launchSettings.json——给 VS / dotnet-launch 用的调试配置(端口号、环境变量、SSL 开关等)。对运行时毫无影响,删掉也能编译,只是下次调试时 VS 会再建一个。(开发调试用的配置文件,跟部署无关。) +wwwroot +是 ASP.NET Core MVC(以及 Razor Pages、Blazor 等)唯一默认对外开放的“静态文件根目录”。 +浏览器直接能访问到的静态资源(.html、.css、*.js、图片、字体、上传的下载文件……)必须放在这里或其子目录下; +放在 wwwroot 之外的静态文件,ASP.NET Core 默认不会响应 404,除非你自己写 UseStaticFiles 再挂一条虚拟路径。(就是 ASP.NET Core 的“静态文件仓库”,浏览器能直接敲地址拿到的资源统统搁这儿。) +``` + +
\ No newline at end of file diff --git "a/\350\265\265\346\231\223\345\217\266/20260114-MVC\344\270\255\347\232\204\345\242\236\345\210\240\346\224\271\346\237\245.md" "b/\350\265\265\346\231\223\345\217\266/20260114-MVC\344\270\255\347\232\204\345\242\236\345\210\240\346\224\271\346\237\245.md" new file mode 100644 index 0000000000000000000000000000000000000000..17577e8f5fbe50aafb860a36fcf5d7ca8ff624b2 --- /dev/null +++ "b/\350\265\265\346\231\223\345\217\266/20260114-MVC\344\270\255\347\232\204\345\242\236\345\210\240\346\224\271\346\237\245.md" @@ -0,0 +1,28 @@ +# 新增功能分析 + +## 点击新增按钮,跳转到一个页面A + +- 使用a标签代替原来的新增按钮,有如下几种方式 + - `新增` + - `新增` + +## 在页面A中是一个表单,有若干表单项,有一个提交按钮,有一个取消按钮 +- `
` +- 表单项asp-for和模型绑定 +## 点击提交时,将表单数据保存到数据库表,(成功)后跳转回列表 +- List list list.Add + +## 点击取消按钮,跳转回列表页 + + +# 删除功能分析 + +## 点击删除按钮,跳转一个页面B + +## 页面B中,有提示,询问要不要删除 + +## 询问要不要删除 + +## 如果是,则删除后返回列表页 + +## 如果不是,则直接返回列表页 \ No newline at end of file diff --git "a/\350\265\265\346\231\223\345\217\266/20260115-mvc\344\270\255\347\232\204\345\242\236\345\212\240\345\222\214\347\274\226\350\276\221.md" "b/\350\265\265\346\231\223\345\217\266/20260115-mvc\344\270\255\347\232\204\345\242\236\345\212\240\345\222\214\347\274\226\350\276\221.md" new file mode 100644 index 0000000000000000000000000000000000000000..e339bbf9c22fe811a3886c1953224c1cc09cfe6c --- /dev/null +++ "b/\350\265\265\346\231\223\345\217\266/20260115-mvc\344\270\255\347\232\204\345\242\236\345\212\240\345\222\214\347\274\226\350\276\221.md" @@ -0,0 +1,33 @@ +# 笔记 + +## 1. 高级查询 + + - 使用LINQ进行条件查询、关联查询 + + - 动态构建查询条件 + + - 支持搜索、排序、筛选 + +## 2. 分页实现 + + - 公式:Skip((page-1)*pageSize).Take(pageSize) + + - 封装 PaginatedList 类 + + - 支持前端分页控件 + +## 3. 文件上传 + + - 支持图片上传与预览 + + - 文件类型、大小验证 + + - 安全存储与访问 + +## 4. AJAX与部分视图 + + - 实现无刷新数据加载 + + - 实时验证(邮箱、手机号唯一性) + + - 提升交互体验 \ No newline at end of file diff --git "a/\350\265\265\346\231\223\345\217\266/20260116-MVC\345\237\272\347\241\200\351\242\230\347\233\256\350\256\262\350\247\243.md" "b/\350\265\265\346\231\223\345\217\266/20260116-MVC\345\237\272\347\241\200\351\242\230\347\233\256\350\256\262\350\247\243.md" new file mode 100644 index 0000000000000000000000000000000000000000..28449ae0eb897acd3867a5b5748cbb1c6906081b --- /dev/null +++ "b/\350\265\265\346\231\223\345\217\266/20260116-MVC\345\237\272\347\241\200\351\242\230\347\233\256\350\256\262\350\247\243.md" @@ -0,0 +1,33 @@ +# 笔记 + +## 1. 更新操作 + + - 支持完整更新与部分更新 + + - 使用乐观锁防止并发冲突 + + - 添加 [Timestamp] 字段 + +## 2. 软删除与回收站 + + - 使用 IsDeleted 标记删除状态 + + - 全局查询过滤器排除已删除数据 + + - 实现回收站界面与操作 + +## 3. 操作日志审计 + + - 记录所有CRUD操作 + + - 存储变更前后数据 + + - 支持操作追踪与回溯 + +## 4. 并发控制 + + - 使用行版本控制 + + - 处理 DbUpdateConcurrencyException + + - 提供数据合并或重试机制 \ No newline at end of file