diff --git "a/\344\270\201\346\235\250\346\202\246/\345\233\276\347\211\207/m6.jpg" "b/\344\270\201\346\235\250\346\202\246/\345\233\276\347\211\207/m6.jpg" new file mode 100644 index 0000000000000000000000000000000000000000..1115a4c46e9bb291deb97c6a44e8bcc034b04e70 Binary files /dev/null and "b/\344\270\201\346\235\250\346\202\246/\345\233\276\347\211\207/m6.jpg" differ diff --git "a/\344\270\201\346\235\250\346\202\246/\345\233\276\347\211\207/m7.jpg" "b/\344\270\201\346\235\250\346\202\246/\345\233\276\347\211\207/m7.jpg" new file mode 100644 index 0000000000000000000000000000000000000000..38e5edd3dac4e5a9c84302198f0085a9877413cc Binary files /dev/null and "b/\344\270\201\346\235\250\346\202\246/\345\233\276\347\211\207/m7.jpg" differ diff --git "a/\344\270\201\346\235\250\346\202\246/\347\254\224\350\256\260/2024-11-25 mvc\344\274\240\345\217\202.md" "b/\344\270\201\346\235\250\346\202\246/\347\254\224\350\256\260/2024-11-25 mvc\344\274\240\345\217\202.md" new file mode 100644 index 0000000000000000000000000000000000000000..41b829db2fa41778a42c10611f426543de90d5a4 --- /dev/null +++ "b/\344\270\201\346\235\250\346\202\246/\347\254\224\350\256\260/2024-11-25 mvc\344\274\240\345\217\202.md" @@ -0,0 +1,50 @@ +# mvc传参 +以下是关于ASP.NET MVC控制器传参的一些笔记: + +通过URL传参: + +控制器的Action方法可以通过URL直接接收参数。 +例如,public ActionResult Details(int id),这里的id参数会从URL中获取。 +通过查询字符串传参: + +除了URL参数外,还可以通过查询字符串传递参数。 +例如,public ActionResult Details(int id, string name),这里的name参数会从查询字符串中获取。 +可选参数: + +Action方法可以定义可选参数,使用=指定默认值。 +例如,public ActionResult Details(int id, string name = "Kimi")。 +参数模型绑定: + +可以通过将参数封装成一个对象来实现模型绑定。 +例如,public ActionResult Create(Product product),这里的Product对象会从表单数据中绑定。 +强类型参数: + +推荐使用强类型参数,这样可以利用编译器检查和自动完成功能。 +参数验证: + +可以在模型类上使用数据注解来实现参数验证。 +例如,在Product类上使用[Required]、[StringLength]等属性。 +参数转换: + +MVC框架会尝试将请求数据转换为Action方法的参数类型。 +如果转换失败,会返回400错误。 +路由数据传参: + +可以通过路由配置传递参数。 +在RouteConfig.cs中定义路由模板,然后在Action方法中接收。 +Form表单传参: + +通过HTML表单提交的数据可以自动绑定到Action方法的参数。 +需要在表单元素中指定name属性,以便与Action方法的参数匹配。 +FromBody传参: + +对于POST请求,可以使用[FromBody]属性来指定参数应该从请求体中获取。 +例如,public ActionResult Create([FromBody] Product product)。 +FromServices传参: + +可以通过依赖注入的方式将服务传递给Action方法。 +需要在Action方法中添加对应的参数,并在控制器构造函数中注入服务。 +FromRoute、FromQuery传参: + +使用[FromRoute]和[FromQuery]属性可以明确指定参数的来源。 +例如,public ActionResult Details([FromRoute]int id, [FromQuery]string name)。 \ No newline at end of file diff --git "a/\344\270\201\346\235\250\346\202\246/\347\254\224\350\256\260/2024-11-27 action\350\277\224\345\233\236\345\200\274.md" "b/\344\270\201\346\235\250\346\202\246/\347\254\224\350\256\260/2024-11-27 action\350\277\224\345\233\236\345\200\274.md" new file mode 100644 index 0000000000000000000000000000000000000000..2499e11bda9d44db044155c1a0c79c0655e9b60c --- /dev/null +++ "b/\344\270\201\346\235\250\346\202\246/\347\254\224\350\256\260/2024-11-27 action\350\277\224\345\233\236\345\200\274.md" @@ -0,0 +1,22 @@ +# Action的返回值 + +1. 基础数据类型,如int,string,List<>等等 +2. IActionResult,返回响应的状态码 + - 视图 + - 重定向 +3. ActionResult,是前面2个的结合体,意思为既可以返回基础数据类型,也可以返回响应状态 + +ActionResult类型: +ActionResult是控制器方法执行后返回的结果类型,控制器方法可以返回一个直接或间接从ActionResult抽象类继承的类型。如果返回的是非ActionResult类型,控制器将会将结果转换为一个ContentResult类型 + +4. 内容响应:JsonResult,ContentResult +5. POCO(比较老的类型对象) + +## 视图 +1. Razor 专业说法 模板引擎 + - 大部分时候,我们都是通过View函数,传入数据(ViewModel)给视图,这样一来,视图中就可以通过@Model这个属性来取得这些数据 + - 实际上,我们可以通过声明视图模型的类型,来获得自动提示或者自动感知 +2. 在视图上显示数据的几个玩法 + - 在视图上定义简单数据,在视图上显示(在视图上定义对象数据,在视图上定义集合数据,显示的问题) + - 后端传回来对象数据,在视图上显示 + - 在后端传回来集合数据,在视图上显示 diff --git "a/\344\270\201\346\235\250\346\202\246/\347\254\224\350\256\260/2024-11-28 \350\247\206\345\233\276\345\217\212\346\250\241\346\235\277\345\274\225\346\223\216.md" "b/\344\270\201\346\235\250\346\202\246/\347\254\224\350\256\260/2024-11-28 \350\247\206\345\233\276\345\217\212\346\250\241\346\235\277\345\274\225\346\223\216.md" new file mode 100644 index 0000000000000000000000000000000000000000..0abbff6c525c20f8d6f88f1000f230ac8526558e --- /dev/null +++ "b/\344\270\201\346\235\250\346\202\246/\347\254\224\350\256\260/2024-11-28 \350\247\206\345\233\276\345\217\212\346\250\241\346\235\277\345\274\225\346\223\216.md" @@ -0,0 +1,39 @@ +# 视图 +1. 定义:MVC中的视图负责展示数据给用户。它是用户界面的一部分,通常包含HTML、CSS和JavaScript代码。 + +2. 类型: +ASPX视图:使用Web Forms技术,允许使用服务器控件。 +Razor视图:使用Razor语法,提供更简洁的语法和更好的性能,是ASP.NET MVC的默认视图引擎。 + +3. 功能: +显示模型数据。 +响应用户交互。 +与控制器协作,接收数据和发送响应。 + +4. 特点: +支持布局页面(Layout Pages),允许定义通用页面结构。 +支持视图继承,子视图可以使用父视图的布局。 +支持强类型视图,可以直接访问模型属性。 + + +# 模板引擎 + + +视图和模板引擎的协作 +控制器:处理业务逻辑,准备数据模型,并选择视图。 +视图引擎:使用模板引擎渲染视图,将模型数据插入到视图模板中。 +流程: +用户发送请求到服务器。 +控制器处理请求,执行业务逻辑。 +控制器准备数据模型,并选择视图。 +视图引擎使用模板引擎渲染视图,将模型数据插入到视图中。 +渲染后的HTML发送给用户的浏览器。 + + + +# 作业 + +### 专项练习-基础能力 +6.![](../图片/m6.jpg) + +7.![](../图片/m7.jpg) \ No newline at end of file