From e48b251739452f8eda8a457da5af73a0ce5ab93b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E5=BF=97=E9=91=AB?= <2030875622@qq.com> Date: Sun, 18 Jan 2026 13:52:49 +0000 Subject: [PATCH] =?UTF-8?q?=E5=BC=A0=E5=BF=97=E9=91=AB=2005?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 张志鑫 <2030875622@qq.com> --- .../20260112-MVC\347\254\224\350\256\260.md" | 13 ++++ .../20260114-MVC\347\254\224\350\256\260.md" | 20 ++++++ .../20260115-MVC\347\254\224\350\256\260.md" | 12 ++++ .../20260116-MVC\347\254\224\350\256\260.md" | 62 +++++++++++++++++++ 4 files changed, 107 insertions(+) create mode 100644 "\345\274\240\345\277\227\351\221\253/20260112-MVC\347\254\224\350\256\260.md" create mode 100644 "\345\274\240\345\277\227\351\221\253/20260114-MVC\347\254\224\350\256\260.md" create mode 100644 "\345\274\240\345\277\227\351\221\253/20260115-MVC\347\254\224\350\256\260.md" create mode 100644 "\345\274\240\345\277\227\351\221\253/20260116-MVC\347\254\224\350\256\260.md" diff --git "a/\345\274\240\345\277\227\351\221\253/20260112-MVC\347\254\224\350\256\260.md" "b/\345\274\240\345\277\227\351\221\253/20260112-MVC\347\254\224\350\256\260.md" new file mode 100644 index 0000000..73eceee --- /dev/null +++ "b/\345\274\240\345\277\227\351\221\253/20260112-MVC\347\254\224\350\256\260.md" @@ -0,0 +1,13 @@ +# 笔记 + +## ASP.NET MVC 的特点 + +- 清晰的问题分离:MVC 设计模式有助于清晰地分离问题,使得开发者可以专注于应用程序的一个方面,而不会影响到其他方面。 + +- 易于测试:由于关注点的分离,ASP.NET MVC 应用程序更容易进行单元测试和维护。 + +- 完全控制 HTML、CSS 和 JavaScript:开发者可以完全控制页面标记,并使用标准的 HTML、CSS 和 JavaScript 技术。 + +- 强大的 URL 路由功能:ASP.NET MVC 提供了强大的 URL 路由,使得创建 SEO 友好的 URL 和 RESTful URL 变得简单。 + +- 与 Visual Studio 的无缝集成:ASP.NET MVC 与 Visual Studio 无缝集成,提供了一系列工具和功能来加速开发过程。 \ No newline at end of file diff --git "a/\345\274\240\345\277\227\351\221\253/20260114-MVC\347\254\224\350\256\260.md" "b/\345\274\240\345\277\227\351\221\253/20260114-MVC\347\254\224\350\256\260.md" new file mode 100644 index 0000000..d6a743a --- /dev/null +++ "b/\345\274\240\345\277\227\351\221\253/20260114-MVC\347\254\224\350\256\260.md" @@ -0,0 +1,20 @@ +# 笔记 + +## 路由与模型绑定 + +ASP.NET Core MVC 提供强大的 路由系统,支持基于约定和属性的路由定义。开发者可以通过路由模板轻松定义 URL 格式,例如: +``` +routes.MapRoute( + name: "Default", + template: "{controller=Home}/{action=Index}/{id?}"); +``` + +模型绑定 是将客户端请求数据(如表单值、查询字符串)自动转换为控制器操作方法参数的过程。结合 数据注解,可以实现模型验证: +``` +public class LoginViewModel { + [Required] + [EmailAddress] + public string Email { get; set; } + [Required] + [DataType(DataType.Password)] + public string Password { get; set; } \ No newline at end of file diff --git "a/\345\274\240\345\277\227\351\221\253/20260115-MVC\347\254\224\350\256\260.md" "b/\345\274\240\345\277\227\351\221\253/20260115-MVC\347\254\224\350\256\260.md" new file mode 100644 index 0000000..50ff0bd --- /dev/null +++ "b/\345\274\240\345\277\227\351\221\253/20260115-MVC\347\254\224\350\256\260.md" @@ -0,0 +1,12 @@ +# 笔记 + +## Razor 视图引擎 + +Razor 是一种轻量级模板语言,用于在 HTML 中嵌入 C# 代码。它支持强类型视图和标记帮助程序,提供了灵活的页面布局和组件化开发能力: +``` +@model IEnumerable + \ No newline at end of file diff --git "a/\345\274\240\345\277\227\351\221\253/20260116-MVC\347\254\224\350\256\260.md" "b/\345\274\240\345\277\227\351\221\253/20260116-MVC\347\254\224\350\256\260.md" new file mode 100644 index 0000000..ba9e306 --- /dev/null +++ "b/\345\274\240\345\277\227\351\221\253/20260116-MVC\347\254\224\350\256\260.md" @@ -0,0 +1,62 @@ +# 笔记 + +## 基本控制器 + +``` +using System.Diagnostics; +using Microsoft.AspNetCore.Mvc; +using Project.Models; + +namespace Project.Controllers; +public class KzqController : Controller +{ + private static readonly List MxModelList = new() + { + new MxModel{Id=1,Name="李",Age=1}, + new MxModel{Id=2,Name="易",Age=2}, + new MxModel{Id=3,Name="峰",Age=3} + }; + + + public IActionResult Index(string kw) + { + var data = MxModelList.AsEnumerable(); + + if (!string.IsNullOrWhiteSpace(kw)) + { + kw = kw.Trim(); + data = data.Where(x =>x.Id.ToString() == kw ||x.Name.Contains(kw, StringComparison.OrdinalIgnoreCase) ||x.Age.ToString() == kw); + } + + return View(data.ToList()); + } + + public IActionResult Delete(int Id) + { + MxModelList.RemoveAll(x => x.Id == Id); + return RedirectToAction("Index"); + } + + + public IActionResult Edit(int Id) + { + var item = MxModelList.FirstOrDefault(x => x.Id == Id); + if (item == null) return NotFound(); + return View(item); + } + + public IActionResult Save(int Id, string Name, int Age) + { + var item = MxModelList.FirstOrDefault(x => x.Id == Id); + if (item != null) + { + item.Name = Name; + item.Age = Age; + } + + return RedirectToAction("Index"); + } + + + +} \ No newline at end of file -- Gitee