diff --git "a/\346\261\237\347\246\271\350\276\260/20260112-mvc\347\254\224\350\256\260.md" "b/\346\261\237\347\246\271\350\276\260/20260112-mvc\347\254\224\350\256\260.md" new file mode 100644 index 0000000000000000000000000000000000000000..17889faa8ae2da0267f831bdc5c60e947d5b7f00 --- /dev/null +++ "b/\346\261\237\347\246\271\350\276\260/20260112-mvc\347\254\224\350\256\260.md" @@ -0,0 +1,38 @@ +# 笔记 +1. 路由(Routing)(路由是将URL映射到控制器的规则系统。) +- 默认路由规则(在 Program.cs 中配置): +```bash +app.MapControllerRoute( + name: "default", + pattern: "{controller=Home}/{action=Index}/{id?}"); +``` +- 路由模板解释: + - {controller}:控制器名(去掉Controller后缀) + - {action}:动作方法名 + - {id?}:可选参数,? 表示可选 + +2. 自定义路由特性 +- 可以在控制器或动作方法上使用 [Route] 特性: +```bash +[Route("api/students")] // 自定义路由 +public class StudentController : Controller +{ + [Route("")] // 对应 /api/students + public IActionResult Index() { ... } + + [Route("{id:int}")] // 对应 /api/students/5 + public IActionResult Details(int id) { ... } + + [Route("add")] // 对应 /api/students/add + public IActionResult Create() { ... } +} +``` +4 路由约束 +- 限制参数的类型和格式: +```bash +[Route("students/{id:int:min(1)}")] // id必须是大于0的整数 +public IActionResult Details(int id) { ... } + +[Route("students/{name:alpha}")] // name只能是字母 +public IActionResult Search(string name) { ... } +``` \ No newline at end of file diff --git "a/\346\261\237\347\246\271\350\276\260/20260114-mvc\347\254\224\350\256\260.md" "b/\346\261\237\347\246\271\350\276\260/20260114-mvc\347\254\224\350\256\260.md" new file mode 100644 index 0000000000000000000000000000000000000000..0099e9a01d525fc0d7dd326859407702eb3ad1a4 --- /dev/null +++ "b/\346\261\237\347\246\271\350\276\260/20260114-mvc\347\254\224\350\256\260.md" @@ -0,0 +1,19 @@ +# 笔记 + +### 新增功能分析 + - 点击新增按钮,跳转到一个页面A + - 使用a标签代替原来的新增按钮,有如下几种方式 + - 新增 + - 新增 + - 在页面A中是一个表单,有若干表单项,有一个提交按钮,有一个取消按钮 + -
+ - 表单项asp-for和模型绑定 + - 点击提交时,将表单数据保存到数据库表,(成功)后跳转回列表 + - List list list.Add + - 点击取消按钮,跳转回列表页 + + + + +- 新增关键:必须做前后端双重数据校验,确保数据合法性,新增后需给用户明确的结果反馈。 +- 删除关键:优先增加确认环节防误删,推荐使用 “软删除”,删除操作必须基于唯一主键,同时处理关联数据的异常情况。 \ No newline at end of file diff --git "a/\346\261\237\347\246\271\350\276\260/20260115-mvc\347\254\224\350\256\260.md" "b/\346\261\237\347\246\271\350\276\260/20260115-mvc\347\254\224\350\256\260.md" new file mode 100644 index 0000000000000000000000000000000000000000..a12e1f37aa1164c93fe3f1268455ec6b4d671e57 --- /dev/null +++ "b/\346\261\237\347\246\271\350\276\260/20260115-mvc\347\254\224\350\256\260.md" @@ -0,0 +1,15 @@ +# 笔记 + +1. 删除功能分析 + - 点击删除按钮,跳转一个页面B + - 页面B中,有提示,询问要不要删除 + - 询问要不要删除 + - 如果是,则删除后返回列表页 + - 如果不是,则直接返回列表页 + +2. 编辑功能分析 + - 点击编辑按钮,跳转一个页面C + - 在页面C中有展示表单,表单中有原来的数据 + - 在页面C中,有保存,有取消 + - 点击保存,则将当前新数据保存到数据库,然后跳转回列表页 + - 点击取消,则跳转回列表页 \ No newline at end of file diff --git "a/\346\261\237\347\246\271\350\276\260/20260116-mvc\347\254\224\350\256\260.md" "b/\346\261\237\347\246\271\350\276\260/20260116-mvc\347\254\224\350\256\260.md" new file mode 100644 index 0000000000000000000000000000000000000000..51181b958a7952b0dbc9371c57e682248f99a656 --- /dev/null +++ "b/\346\261\237\347\246\271\350\276\260/20260116-mvc\347\254\224\350\256\260.md" @@ -0,0 +1,29 @@ +随机数: +```bash +using System.Web.Mvc; + +public class HomeController : Controller +{ + // 示例:生成 [0, 100] 的随机数并返回给视图 + public ActionResult Index() + { + // 调用工具类生成随机数 + int randomNum = RandomHelper.Next(0, 100); + // 将随机数传递给视图 + ViewBag.RandomNumber = randomNum; + + // 也可以生成随机浮点数 + double randomDouble = RandomHelper.NextDouble(); + ViewBag.RandomDouble = randomDouble; + + return View(); + } + + // 示例:接口返回随机数 + public JsonResult GetRandomNumber() + { + int randomNum = RandomHelper.Next(10, 20); + return Json(new { number = randomNum }, JsonRequestBehavior.AllowGet); + } +} +``` \ No newline at end of file