diff --git "a/\345\272\267\345\273\272\346\242\205/20241223--\344\274\252\346\225\260\347\273\204.md" "b/\345\272\267\345\273\272\346\242\205/20241223--\344\274\252\346\225\260\347\273\204.md" new file mode 100644 index 0000000000000000000000000000000000000000..952230d8fabdee9daa614403d10db8ea0be19097 --- /dev/null +++ "b/\345\272\267\345\273\272\346\242\205/20241223--\344\274\252\346\225\260\347\273\204.md" @@ -0,0 +1,30 @@ +## MVC中的伪数组概念 + +在ASP.NET Core MVC框架中,伪数组通常指的是那些提供数组式访问但具有更高级功能的集合类型。这些集合在处理动态数据和响应式Web开发中非常有用。 + +### 数组(Array) + +- 数组是一种基本的数据结构,用于存储固定大小的同类型元素集合。 +- 数组的大小在声明时确定,并且之后不能改变。 +- 数组通过索引访问元素,索引从0开始。 + +### List(伪数组) + +- `List`是C#中最常用的伪数组实现,尤其在ASP.NET Core MVC中处理动态数据时非常有用。 +- 它提供了与数组类似的索引访问方式,但`List`的大小是动态的,可以根据需要增加或减少元素。 +- `List`还提供了许多方便的方法,如`Add`、`Remove`、`Insert`等,用于操作集合中的元素,这在处理模型数据时非常有用。 + +### Dictionary(键值对集合) + +- `Dictionary`或`SortedDictionary`提供了键值对的存储方式,这在ASP.NET Core MVC中处理路由和查询参数时非常有用。 +- 它们允许快速检索和存储与特定键关联的值,这对于构建动态和响应式的Web应用至关重要。 + +### 应用场景 + +在ASP.NET Core MVC中,伪数组和集合的使用非常广泛: + +- **动态数据管理**:`List`可以用来管理用户提交的表单数据,动态添加或删除项目。 +- **路由和查询参数**:`Dictionary`可以用来存储和检索路由参数和查询字符串参数。 +- **响应式Web开发**:在构建响应式Web应用时,这些集合类型可以帮助开发者更灵活地处理数据和用户交互。 + +通过理解这些伪数组和集合的工作原理,ASP.NET Core MVC开发者可以更有效地管理数据和构建动态Web应用。 \ No newline at end of file diff --git "a/\345\272\267\345\273\272\346\242\205/20241225--\345\255\246\347\224\237\350\241\250.md" "b/\345\272\267\345\273\272\346\242\205/20241225--\345\255\246\347\224\237\350\241\250.md" new file mode 100644 index 0000000000000000000000000000000000000000..3de7c0cb178d19abcf4a675f38fdf091b1e4e118 --- /dev/null +++ "b/\345\272\267\345\273\272\346\242\205/20241225--\345\255\246\347\224\237\350\241\250.md" @@ -0,0 +1,47 @@ +## 伪删除的实现方式:在数据库中添加一个标记字段,用于表示记录是否被“删除”。这个字段通常是一个整数类型,比如flag或DeletionStateCode,其中某个值(如0)表示记录是活跃的,而另一个值(如1)表示记录已被“删除” +。 + +## 代码示例:在ASP.NET MVC框架中,伪删除可以通过修改实体的状态码来实现。例如,通过检查Not参数,如果Not不为null,则将用户的状态码设置为1,表示用户已被“删除” +1. 定义显示页面的方法 + ```c# + public IActionResult Index(string su){ + //检查该字符串是否为空,如果是则返回没有被删除的列表视图 + if(string.IsNullOrEmpty(su)){ + return View(_db.Course.Where(x=>x.IsDeleted!=true)); + } + //浏筛选没有被删除的信息 + var res=_db.Course.Where(x=>!x.IsDeleted); + //从中筛选包含su的信息 + var list=res.Where(x=>x.Id.ToString().Contains(su)||x.CourseName.Contains(su)).ToList(); + return View(list); + } + + 或 + public IActionResult Index(string su){ + IEnumerablelist; + if(string.IsNullOrEmpty(su)){ + return View(_db.Course); + }else{ + //浏筛选没有被删除的信息 + var res=_db.Course.Where(x=>!x.IsDeleted); + //从中筛选包含su的信息 + var list=res.Where(x=>x.Id.ToString().Contains(su)||x.CourseName.Contains(su)).ToList(); + } + return View(list); + + } + + ``` +2. 创建一个私有的静态方法,接受一个Course对象和一个字符串keyword作为参数,并返回一个布尔值。 + ```c# + private static bool Judge(Course stu,string keyword){ + //改属性如果为true,则返回false,及表示被删除的信息不显示 + if(stu.IsDeleted){ + return false; + } + if(stu.Id.ToString().Contains(keyword)||stu.CourseName.Contains(keyword)){ + return true; + } + return false; + } + ``` \ No newline at end of file