自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(85)
  • 资源 (3)
  • 收藏
  • 关注

原创 【深入浅出】ASP.NET中 ViewBag 的使用秘籍:从入门到避坑

传递少量临时 UI 数据(如页面标题、按钮文本、提示信息)简单的条件渲染控制(如是否显示某个按钮)快速原型开发时的临时数据传递关键点回顾ViewBag 是基于 ViewData 的动态类型容器,无编译检查,适合传递少量临时 UI 数据。拼写错误无提示、重定向数据丢失、类型转换异常、空引用异常,使用时需做好判空和类型检查。优先使用强类型 Model,ViewBag 仅作为补充,关键场景用 TempData/ViewData 替代。最后互动。

2026-01-12 22:40:11 1047 4

原创 ASP.NET Core ViewData:弱类型数据交互的精髓与避坑指南

本文详细讲解了ASP.NET Core中ViewData的使用方法及其注意事项。文章通过"小区快递柜"的生活类比,形象说明了ViewData作为弱类型字典的特性。通过商城首页案例,演示了在Controller中设置不同类型数据(字符串、数字、自定义对象、集合)到ViewData,以及在View中安全读取这些数据的完整流程(包括判空处理和类型转换)。最后总结了ViewData常见的6个使用陷阱,如类型转换失败、键名大小写问题等,并给出了相应的解决方案。ViewData适合在Controll

2026-01-08 21:51:48 1212 28

原创 ASP.NET Core 视图组件:从入门到避坑,UI 复用的终极方案

关键点回顾1.视图组件是ASP.NET Core 的 “带逻辑 UI 积木”,由C# 类(业务逻辑)+ Razor 视图(UI) 组成,核心方法是InvokeAsync;2.调用方式:@await Component.InvokeAsync(“组件名”, 匿名参数对象);3.核心避坑点:路径必须是Shared/Components/组件名/视图名.cshtml、类名以ViewComponent结尾、参数名要匹配、加异常处理。

2026-01-08 21:51:04 1025 9

原创 【C# ASP.NET】局部视图 @Html.Partial 全解析:复用 UI 的正确姿势(附避坑指南)

小节:局部视图 = 复用性拉满的 UI 积木在ASP.NET的 View 层中,局部视图(Partial View)是一段可复用的 UI 代码片段(以.cshtml为后缀),通过@Html.Partial(“_PartialName”)调用,能像 “拼积木” 一样把重复的 UI 模块(比如导航栏、搜索框、数据列表)嵌入到任意主视图中。生活类比奶茶店的珍珠、椰果、布丁是 “局部视图”(复用模块);不管做奶茶、果茶还是奶盖茶,都能直接拿加料包用,不用每次重新煮珍珠、切椰果;

2026-01-02 22:14:18 1437 15

原创 ASP.NET View 层核心:布局页_Layout.cshtml 与 @RenderBody () 通关指南

< h1 > 首页 </ h1 > < p > 首页内容... </ p > <!-- 子视图自定义JS,仅在首页加载 --> @section Scripts { < script > // 首页轮播图逻辑 $(function() {console . log("首页专属JS加载完成");});} < h1 > 首页 </ h1 > < p > 首页内容... </ p > <!

2026-01-02 22:13:34 884 16

原创 【深入浅出 Razor】03:服务器注释 @* *@ 避坑指南,新手也能秒懂

小节:从 “私密笔记” 理解服务器注释公开备注(HTML 注释):写在清单正面,收银员(客户端 / 浏览器)能看到,但不会帮你执行;私密备注(Razor 服务器注释@* *@):写在清单背面,只有你自己(服务器)能看到,交给收银员前会被撕掉,对方完全看不到。在服务器解析视图时被完全移除,不会出现在最终返回给浏览器的 HTML 源码中,适合注释服务器端逻辑、临时屏蔽代码等场景。基础语法代码示例@{// C#代码块内的常规注释(仅服务器可见)var userName = "张三";

2025-12-26 20:16:37 1092 23

原创 【保姆级】ASP.NET Razor 视图引擎:@if/@foreach 核心语法拆解(附避坑指南 + 生活类比)

1.@是 Razor 的 “模式切换开关”,所有 C# 逻辑(if/foreach)必须以@开头;2.@if重点注意 Null 判断、花括号完整性和逻辑运算符使用,核心是 “条件分支渲染”;3.@foreach重点注意空集合判断、禁止遍历中修改集合,核心是 “批量重复渲染”;4.综合使用时,先判断集合是否为空,再遍历,遍历中嵌套 if 判断状态,是最常用的实战写法。

2025-12-26 20:16:16 736 14

原创 【CSDN 精品专栏】ASP.NET Razor 变量输出 @变量名:从入门到避坑,新手也能写对!

后厨(@{ }代码块)把数据(变量)处理好;传菜口(@符号)把处理好的 “菜品”(变量值)递到前台(HTML 页面);客人(浏览器)最终看到的,就是传菜口递出来的 “成品”。@是 Razor 的 “插值标识符”,用于在 HTML 中嵌入 C# 变量 / 表达式;@后紧跟变量名 / 表达式,无需额外分隔符;支持所有 C# 基础类型 + 自定义对象 + 集合的输出。@{// 定义自定义用户对象(后厨准备的“套餐”)Id = 1001,Name = "李四",

2025-12-20 10:58:07 1132 33

原创 【CSDN 精品专栏】ASP.NET Razor 核心:@{ } 代码块从入门到避坑,新手也能秒懂

前端 HTML/CSS 是 “餐厅前台”,负责展示最终效果;@{ }代码块是 “后厨”,负责处理数据、执行逻辑(比如计算、循环、判断),处理完再把结果交给前台展示。以@{开头,}结尾,内部写纯 C# 逻辑代码;代码块内的 C# 语句必须以分号;结尾;代码块内定义的变量 / 逻辑,仅在当前视图上下文生效。总结1.@{ }是 Razor 视图的 “后厨操作间”,内写纯 C# 逻辑,需以分号结尾,通过@变量传递结果到前台;

2025-12-20 10:57:44 1085 17

原创 【CSDN 专栏】C# ASP.NET Razor 视图引擎实战:.cshtml 从入门到避坑(图解 + 案例)

/// 用户数据模型 ///

2025-12-13 17:41:55 1833 21

原创 【CSDN 专栏】C# ASP.NET控制器过滤器:自定义 ActionFilterAttribute 实战(避坑 + 图解)

Action执行上下文(包含请求、参数等)

2025-12-13 17:41:29 1901 15

原创 【ASP.NET Core 进阶】Controller 过滤器之 ExceptionFilter:全局异常捕获的 “终极方案”(附避坑指南)

日志器</param>/// <param name="env">环境变量

2025-12-09 21:49:34 1210 28

原创 【ASP.NET Core 进阶】Controller 过滤器之 ResultFilter:View 渲染前后的 “神操作”(附避坑指南)

Result执行上下文

2025-12-09 21:48:38 994 16

原创 【CSDN 专栏】ASP.NET Controller 过滤器详解:ActionFilter(Action 前后逻辑)从入门到避坑

Action执行上下文

2025-12-06 16:02:19 1303 25

原创 【CSDN 专栏】ASP.NET Controller 过滤器详解:AuthorizationFilter(权限验证)从入门到避坑

自定义授权过滤器时,仅返回错误信息,但未设置context.Result,导致请求仍会进入 Action 执行。// 错误:仅返回信息,未中断请求if (!context.HttpContext.Response.WriteAsync("权限不足");// 缺少这行:context.Result = new ForbidResult();if (!// 设置Result,中断请求流程// 403// 或 context.Result = new UnauthorizedResult();

2025-12-06 16:01:57 919 18

原创 【ASP.NET进阶】Controller 层 Action 核心:异步 Action(async Task)全解析

异步方法必须以 Async 结尾(如 GetOrdersAsync、SaveChangesAsync),便于团队协作和代码阅读;单个异步任务:直接 try-catch 捕获异常;并行任务:捕获 AggregateException,遍历 InnerExceptions 处理每个任务的异常;独立的异步任务用 Task.WhenAll 并行执行,关联任务串行 await;异步方法中使用 using 语句释放资源(如 SqlConnection、HttpClient),确保资源及时回收;

2025-12-01 22:23:46 1076 23

原创 【ASP.NET进阶】Controller 层 Action 返回值:HttpStatusCodeResult 状态码返回全解析

本文从HTTP状态码的核心概念出发,通过生活场景类比和代码示例,详细讲解了ASP.NET中HttpStatusCodeResult的使用方法。文章首先将状态码比喻为餐厅服务的响应信号(如200代表上菜成功,404代表菜品不存在),帮助开发者理解状态码的本质意义。然后分别展示了ASP.NET MVC和ASP.NET Core两种框架下返回状态码的具体实现方式,包括404、500、403等常见状态码的返回示例。特别强调了ASP.NET Core中更简洁的StatusCode()方法及NotFound()等快捷方

2025-12-01 22:23:21 1401 28

原创 【ASP.NET Core】Controller 层 Action 返回值精讲:RedirectResult(重定向核心)

RedirectResult(含 RedirectToAction)是ASP.NET Core 中页面跳转的核心手段,使用关键在于:1.基础用法:同控制器跳转写 Action 名,跨控制器加控制器名,传参用 routeValues;2.避坑核心:ViewBag 不能跨重定向传参(用 TempData / 路由参数)、AJAX 请求前端自行跳转、特殊字符需编码、权限拦截排除登录页;3.状态码选择:临时跳转用 302(默认),永久地址变更用 301。

2025-11-26 21:52:30 911 19

原创 【ASP.NET Core】Controller 层 Action 返回值精讲:JsonResult(AJAX 交互核心)

场景:前端需要返回驼峰命名、忽略空值、格式化日期UserId = id , UserName = "张三" , CreateTime = DateTime . Now , Remark =(string) null // 空值字段 };// 自定义序列化选项 var jsonOptions = new JsonSerializerOptions {

2025-11-26 21:52:11 1059 30

原创 C# ASP.NET Controller 核心:ViewResult 实战指南(return View (model) 全解析)

本文从实战、避坑和生活类比三个维度深入解析ASP.NET MVC/CORE中的ViewResult返回类型。ViewResult作为"数据+视图"的协作体,通过Action方法获取数据并传递给视图渲染HTML页面。文章详细演示了基础用法(无Model传递)、核心用法(传递Model)以及进阶用法(自定义视图和匿名对象),并针对常见坑点如空Model引用、视图查找失败等问题提供解决方案。通过餐厅点餐的生动类比,帮助开发者快速理解ViewResult的工作机制,掌握这一MVC开发中的关键组件

2025-11-20 21:02:59 1914 34

原创 C# ASP.NET Controller 核心:PartialViewResult 实战指南(AJAX 局部刷新全解析)

本文深入解析ASP.NET MVC/CORE中的PartialViewResult,介绍其核心概念与实战应用。PartialViewResult专为局部视图渲染和AJAX无刷新更新设计,通过返回不含完整HTML结构的视图片段,实现页面局部动态更新,提升交互体验。文章从基础到进阶,详细演示了静态内容渲染和动态数据传递两种场景的代码实现,包括局部视图创建、Action方法编写及前端AJAX调用。通过奶茶店类比形象说明其优势,并附核心流程图帮助理解。适合开发者快速掌握这一提升页面性能的关键技术。

2025-11-20 21:01:32 1080 26

原创 【ASP.NET进阶】Controller层核心:Action方法全解析,从基础到避坑

本文介绍了ASP.NET Core中Controller的核心组件Action方法。Action方法作为处理HTTP请求的具体执行单元,遵循"公开访问、HTTP标记、标准返回"三大特征。文章详细解析了Action方法的定义规则、编码规范及常见误区,包括访问修饰符必须为public、需明确标记HTTP特性、返回类型优先选用IActionResult等核心要点。同时针对新手常见的5个典型问题(如路由匹配冲突)提供解决方案。通过外卖点单等生活化类比,帮助开发者深入理解Action方法在Web

2025-11-16 21:34:16 892 50

原创 【ASP.NET进阶】Controller 层基础:从命名规范到避坑指南,一篇讲透请求处理核心

本文介绍了ASP.NET Core中Controller的基础核心功能与最佳实践。Controller作为处理HTTP请求的"门面",主要负责接收请求、协调业务逻辑并返回响应。文章通过生活场景类比和代码示例,重点讲解了Controller的命名规范(必须使用"XXXController"后缀)、核心特性(继承基类、路由配置)以及5个常见错误(命名问题、Action冲突、方法特性缺失、依赖注入未处理、业务逻辑臃肿)。最后通过流程图展示了请求处理的完整流程,强调Contr

2025-11-16 21:33:39 956 24

原创 【ASP.NET进阶】Controller 层基础:从 MVC 5 到 Core,继承的奥秘与避坑指南

本文对比了ASP.NET MVC 5中的Controller与ASP.NET Core中的ControllerBase的核心差异。MVC 5的Controller是一个"全能型服务员",内置视图渲染、模型验证等完整功能,适合传统Web应用开发;而Core的ControllerBase则是一个"精简型专员",专注于API请求处理,需要配合[ApiController]特性使用。文章通过代码示例展示了二者在类定义、功能特性上的不同,并指出Core中Controller是C

2025-11-14 20:11:02 1167 51

原创 C# ASP.NET MVC 数据验证实战:View 层双保险(Html.ValidationMessageFor + jQuery Validate)

文章摘要: 本文深入探讨ASP.NET MVC中View层验证的两种核心方法:Html.ValidationMessageFor()和jQuery Validate。前者通过Model层DataAnnotations特性实现服务器端与客户端联动验证,只需定义规则即可自动生成校验逻辑;后者提供更灵活的纯客户端验证,支持复杂业务场景。文章详细演示了从Model规则定义、View绑定错误提示到Controller二次校验的全流程,强调验证对提升用户体验(即时反馈)和系统健壮性(减少无效请求)的关键作用,并附代码示

2025-11-10 21:55:42 2234 76

原创 ASP.NET MVC 数据验证之 [Compare] 与 [Range]:从代码到避坑指南

本文介绍了ASP.NET MVC中DataAnnotations的两种常用数据验证特性:[Compare]和[Range]。[Compare]用于验证两个字段值是否一致,如密码确认场景;[Range]则用于限制数值范围。文章通过代码示例详细说明了它们的使用方法,并总结了5个常见错误及解决方案。关键点包括:后端验证不可替代,错误信息要明确,数值范围验证要注意参数类型等。全文强调数据验证是确保应用可靠性的重要环节,建议开发者在前后端都实现验证逻辑。

2025-11-07 20:12:14 1206 40

原创 ASP.NET MVC 数据验证进阶:用 IValidatableObject 实现自定义验证逻辑 引言:为什么需要 “自定义验证”?

你有没有遇到过这样的场景?在电商平台下单时,系统提示 “折扣金额不能超过订单总额的 20%”;预订酒店时,“入住日期必须早于退房日期”。这些验证规则不是简单的 “必填”“范围”,而是多个字段联动的复杂逻辑—— 此时,DataAnnotations提供的[Required] [Range]等 “标准工具” 就不够用了。在ASP.NET MVC 中,IValidatableObject接口就是为这类场景设计的 “定制工具”。它允许我们编写灵活的、跨字段的验证逻辑,让数据验证更贴合业务需求。

2025-11-07 20:11:35 870 49

原创 C# ASP.NET MVC Model 分类:数据传输对象(DTO)—— 跨层传数的 “精简快递“

本文介绍了数据传输对象(DTO)在ASP.NET MVC开发中的核心作用与应用。DTO作为精简数据载体,主要用于跨层或跨服务传输时屏蔽冗余和敏感信息(如密码哈希),仅传递必要字段以实现高效安全的数据流转。文章通过电商物流类比DTO的价值,详细讲解了其三大功能:数据精简、信息保护和层间解耦,并对比说明不使用DTO可能导致的问题。实战部分演示了从实体到DTO的转换方法(手动映射和AutoMapper工具),以及如何在API层正确返回DTO数据。最后归纳了DTO的数据流向流程图,并针对新手常见问题(如DTO设计冗

2025-11-04 21:49:23 1868 54

原创 【ASP.NET MVC 进阶】DataAnnotations 特性验证全解析:从基础到避坑,让数据校验像 “安检“ 一样靠谱

本文详细介绍了ASP.NET MVC中DataAnnotations数据验证的三大核心特性:[Required]、[StringLength]和[RegularExpression]。通过代码示例、生活类比和常见问题分析,帮助开发者理解如何为模型属性添加验证规则。文章还总结了5个常见陷阱及解决方案,强调后端验证的必要性。最后用流程图清晰展示了数据验证的完整流程,说明如何确保输入数据合法有效。掌握这些验证技巧能显著提升应用的数据质量和安全性。

2025-11-04 21:48:39 928 34

原创 深入ASP.NET MVC 领域模型:从数据库表到代码世界的 “翻译官“

/ 1. 表名映射:User类 → T_User表(加前缀)// 2. 字段映射:Id属性 → User_Id字段(下划线命名)[Key][Column"User_Id"set;// 3. 忽略字段:该属性不映射到数据库(临时计算字段)set;它让数据从 “零散的 SQL 结果” 变成 “结构化的实体”,降低代码复杂度。它通过映射配置解决命名差异,通过导航属性处理表关系,确保与数据库对齐。它承载基础业务规则,提前拦截无效数据,减少后续业务层的工作量。“专事专办”

2025-10-31 22:57:23 1227 66

原创 拆解ASP.NET MVC 视图模型:为 View 量身定制的 “数据小票“

对 View 来说,它提供了 “刚刚好” 的数据和验证,不用再凑字段、写冗余判断。对领域模型来说,它隔离了 UI 的变化,改注册页面加字段,不用动User类。对开发者来说,它让代码职责更清晰:VM 管 UI 数据,领域模型管数据库,服务层管业务逻辑。记住一句话:“View 需要什么,视图模型就给什么”—— 不多带一个数据库字段,不少加一个 UI 验证规则,这就是视图模型的设计精髓。

2025-10-31 22:56:49 780 47

原创 从 MVC 5 到 Core MVC:ASP.NET MVC 框架的 “进化之路“

本文对比了ASP.NET MVC 5和Core MVC框架的核心差异。MVC 5是Windows平台的经典版本,依赖IIS服务器和Web.config配置,功能稳定但受限。而Core MVC作为跨平台的新框架,支持多操作系统、模块化设计和内置依赖注入,性能提升2-5倍。关键差异包括:运行环境、配置文件格式、依赖注入实现、部署方式和启动入口等方面。文章还提供了版本演进流程图,并针对迁移过程中的常见问题(如HttpContext.Current移除和配置转换)给出了解决方案。Core MVC凭借其灵活性、高性能

2025-10-29 21:25:05 900 10

原创 拆解ASP.NET MVC 核心优势:松耦合、易测试、SEO 友好、RESTful 实战指南

MVC框架在企业级开发中的核心优势 摘要:ASP.NET MVC框架凭借四大核心优势成为企业级开发的首选方案。首先,松耦合的分层架构(表现层、业务层、数据层)通过依赖注入实现各模块独立变更;其次,易测试的特性允许对每个层次单独进行单元测试,提升开发效率;再次,友好的URL设计提升SEO效果;最后,原生支持RESTful风格接口开发。文章通过餐厅分工等生活类比和代码实例,展示了如何避免紧耦合设计,实现控制器与服务层的解耦,并提供了单元测试业务层的具体方法。这些特性共同解决了企业应用中常见的维护困难、测试复杂和

2025-10-29 21:24:24 669 12

原创 从 “代码乱糟糟” 到 “各司其职”:MVC 设计模式核心概念与实战避坑指南

改登录逻辑?只动 Model 的UserService;改登录页面样式?只动Login.cshtml;改登录流程(比如加验证码)?只动 Controller 的Login方法。这种 “各司其职” 的设计,让团队协作更顺畅(前端改 View,后端改 Model,互不干扰),也让代码更易维护。

2025-10-27 21:59:50 1154 38

原创 从 “代码一锅粥” 到 “流程清晰”:MVC 核心概念、交流流程与实战避坑指南

很多人觉得 MVC “麻烦”—— 要写三个组件,不如 “一锅粥” 代码快。维护效率高:改订单逻辑只动 Model,改展示只动 View,不用怕影响其他部分;协作效率高:前端开发者改 View,后端开发者改 Model,互不干扰;扩展效率高:新增 “取消订单” 功能,只需加一个 CancelOrderService(Model),在 Controller 加一个 handleCancelRequest 方法,不用改现有代码。MVC 不是 “花架子”,而是让代码 “长期可维护” 的设计思想。

2025-10-27 21:58:31 999 20

原创 专栏|Model 层设计:别让 “后厨” 干了 “服务员” 的活(附代码 + 流程图 + 避坑表格)

本文通过餐厅类比解析了系统设计中Model层的核心职责与设计原则。首先用流程图和表格对比了三层架构的分工(View-Controller-Model),强调Model层应像后厨一样独立运行。随后以Java代码演示纯Model层实现(User数据模型+UserManager业务逻辑),并通过流程图展示内部校验流程。文章还总结了三个常见设计误区及解决方案对比表,提出无依赖、单一职责、数据自治三大设计原则。最后邀请读者分享实际开发中遇到的Model层问题,为后续数据库交互等高级主题铺垫。

2025-10-25 16:49:00 1012 27

原创 专栏|View 层设计:别让 “货架” 自己去进货(附代码 + 流程图 + 避坑表格)

设计原则核心要求生活化解释数据来源单一只从 ViewModel 拿数据,不直接调用 Model 的接口 / 缓存货架只收店员送的货,不自己去仓库搬逻辑零侵入不处理业务逻辑,只做 UI 相关的格式化(如脱敏、日期)货架不管商品卖多少钱,只负责摆整齐状态分离UI 状态(如是否编辑、弹窗显隐)和业务数据分开存顾客试穿的样品(UI 状态)和仓库存货(业务数据)分开。

2025-10-25 16:47:50 1045 11

原创 MVC 入门必看:Web.config 配置文件 —— 连接字符串与路由的 “总开关“

摘要: Web.config是MVC应用的“隐形基石”,核心功能包括连接字符串和路由配置。连接字符串是应用与数据库的“密码本”,需注意服务器地址、数据库名及密码安全(避免明文存储)。路由配置则定义URL导航规则,需确保路由顺序(具体优先)、参数匹配及正确注册。常见错误如拼写错误、路由覆盖或遗漏注册,可能导致数据库连接失败或页面无法访问。合理配置这两项是保障MVC应用稳定运行的基础。 (字数:150)

2025-10-22 20:50:19 1145 18

原创 MVC 入门必看:Web.config 配置文件 —— 连接字符串与路由的 “总开关“

本文介绍了MVC开发中静态资源(CSS/JS/图片)的管理和资源捆绑(BundleConfig)的使用方法。静态资源类比为实体店的装修材料,分别存放在Content和Scripts目录下。文章详细说明了如何正确引用CSS、JS和图片资源,并指出了路径错误、JS引用顺序错误和缓存未更新三个常见问题及解决方案。第二部分重点介绍了BundleConfig的配置和使用,通过将多个资源合并为一个文件并压缩,显著提升页面加载速度。同时指出了捆绑包配置中容易出现的文件遗漏、调试困难等问题。文章使用类比手法,帮助开发者快速

2025-10-22 20:49:37 1213 4

原创 ASP.NET MVC 前置基础:宿主环境 & HttpRuntime 管道,从部署到流程拆透(附避坑指南)

本文以咖啡店类比,系统讲解了ASP.NET MVC的宿主环境与HttpRuntime管道两大核心概念。在宿主环境部分,将IIS比作"店面管理员",详细解析其核心组件(网站、应用池、绑定等)及3步部署流程(发布、IIS配置、测试),并针对版本不匹配、权限不足、端口占用三大常见问题提供解决方案。在HttpRuntime管道部分,将其类比为"咖啡制作链",剖析HttpModule(监督员)和HttpHandler(制作师)的角色分工,通过可运行的代码示例(日志记录Modul

2025-10-20 15:14:50 1244 37

同步方法和异步方法比较

同步方法和异步方法比较优缺点,权衡资源与时间的利弊,方法比较简单,容易上手

2018-10-27

DotNetBar v14.0.0.15

DotNetBar v14.0.0.15完整破解版,美化控件,操作方便

2018-10-22

c# SQLserver增删改查

C#操作SQLserver的增删改查,相关的简单方法封装成类,操作简单,操作如有疑问可留言,大家方便一起讨论

2020-11-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除