摘要:通过前面的学习,我们已经有实现了传统的ASP.NET Core MVC的增删改查功能,也实现了使用ABP提供的WebAPI方式来实现增删改查的功能。今天我们来学习一下标题中的另一个主要组件——EasyUI。如何通过使用Easy UI来实现一个增删改查的页面功能。 阅读全文
posted @ 2019-09-17 14:17 DotNet菜园 阅读 (578) 评论 (0) 编辑
摘要:通过 abp(net core)+easyui+efcore实现仓储管理系统——菜单-上 (十六)这篇文章,我们已经了解了ABP中的菜单相关的类及类的属性与方法,接下我们通过实例来实现一个动态加载菜单的功能。动态菜单是我们在abp(net core)+easyui+efcore实现仓储管理系统——领域层创建实体(三)至abp(net core)+easyui+efcore实现仓储管理系统——展现层实现增删改查之增删改视图(八)中添加的功能模块。 阅读全文
posted @ 2019-09-10 14:24 DotNet菜园 阅读 (488) 评论 (0) 编辑
摘要:在前面的文章(abp(net core)+easyui+efcore实现仓储管理系统——展现层实现增删改查之菜单与测试(九) )中我们学会了如何添加静态菜单,但是做为一个信息管理系统,总不能每次有新功能新菜单,都静态添加菜单,编译,再上线。我们希望的是有一个菜单管理界面,在此页面中输入相应的菜单,只要我们重新登录,菜单就自动显示在菜单栏中。而菜单的来源可以是多样的,可以从需要从数据库,xml等数据源中加载一些动态菜单来满足我们的系统要求。 阅读全文
posted @ 2019-09-02 18:58 DotNet菜园 阅读 (443) 评论 (0) 编辑
摘要:上接(abp(net core)+easyui+efcore实现仓储管理系统——使用 WEBAPI实现CURD (十四)),在这一篇文章中我们实现更新与删除供应商的相关功能。 至此,完成了供应商信息的增删改查,但是我们没有写一行与增删改查有关的c#代码,都是由ABP提供了AsyncCrudAppService的接口来完成我们的功能。 阅读全文
posted @ 2019-08-26 16:54 DotNet菜园 阅读 (545) 评论 (0) 编辑
摘要:上接(abp(net core)+easyui+efcore实现仓储管理系统——使用 WEBAPI实现CURD (十三) ),在这一篇文章中我们实现新增供应商的相关功能。 我们先来看一下 “ABP.TPLMS.Web.Mvc”项目中的wwwroot目录下的view-resources\Users目录中的Index.js文件,然后参照此文件来写新增供应商的脚本文件。 阅读全文
posted @ 2019-08-19 16:34 DotNet菜园 阅读 (522) 评论 (0) 编辑
摘要:上接(abp(net core)+easyui+efcore实现仓储管理系统——使用 WEBAPI实现CURD (十二)),在这一篇文章中我们创建视图模型、列表视图、添加菜单。 阅读全文
posted @ 2019-08-12 17:10 DotNet菜园 阅读 (628) 评论 (0) 编辑
摘要:上接(abp(net core)+easyui+efcore实现仓储管理系统——使用 WEBAPI实现CURD (十一)),在这一篇文章中我们创建服务接口与服务实现类,并创建控制器类。 阅读全文
posted @ 2019-08-05 15:13 DotNet菜园 阅读 (757) 评论 (2) 编辑
摘要:abp(net core)+easyui+efcore实现仓储管理系统目录 阅读全文
posted @ 2019-07-30 14:18 DotNet菜园 阅读 (1044) 评论 (2) 编辑
摘要:通过abp(net core)+easyui+efcore实现仓储管理系统——展现层实现增删改查之控制器(六)至abp(net core)+easyui+efcore实现仓储管理系统——展现层实现增删改查之菜单与测试(九)四篇文章的学习,我们使用ASP.NET Core Mvc的常规的实现方式实现了对数据库的CURD操作。ABP有其默认的实现增删改查的方式。我们可以先看一下“ABP.TPLMS.Web.Mvc”项目中的“Views\Users”的相关代码,可以查看一下ABP默认是如何实现对用户信息的增删改查的。我们发现ABP中的用户信息的增删改查是通过继承 AsyncCrudAppService这个类来实现CURD操作,前端页面中通过javascript调用WEB API来实现增删改查。当然还有一个同步操作类CrudAppService,通过继承这个类来实现CURD的同步操作。对于这两个类的的区别在于AsyncCrudAppService是CrudAppService异步实现。ABP作为开发框架,通过以上两个基类实现了对于CRUD这种通用功能的一种解决方案。在接下来的几篇文章中,我们要 阅读全文
posted @ 2019-07-30 14:15 DotNet菜园 阅读 (943) 评论 (0) 编辑
摘要:本地化(Localization)也就是多语言功能,借此用户能够选择他的母语或熟悉的语言来使用系统,这显然非常有利于软件系统推向国际化。一个应用程序的UI界面至少有一种语言,ABP开发框架提供了一个弹性的多语言框架,可以简化我们在多语言方面的开发时间。利用ABP实现多语言只需要简单地完成三个步骤:建立资源、配置资源以及使用资源。 本地化的内容主要是文本字符串,ABP提供三种方式存储本地化资源的方式,分别是ASP.NET自带的资源文件、XML文件以及自定义的资源获取方式。ABP是分模块的,每个模块可以定义独立的本地化来源,每个本地化资源必须有一个唯一的名称。 阅读全文
posted @ 2019-07-23 13:37 DotNet菜园 阅读 (906) 评论 (0) 编辑
摘要:在这一篇文章中我们创建一个菜单,并通过这个菜单调用我们之前写的增删除改查的功能。 阅读全文
posted @ 2019-07-16 15:29 DotNet菜园 阅读 (877) 评论 (0) 编辑
摘要:在这一篇文章(abp(net core)+easyui+efcore实现仓储管理系统——展现层实现增删改查之列表视图(七))中我们创建一个使用Razor视图引擎的视图模板文件,Razor视图模板文件的扩展名为.cshtml,并提供一种比较优雅的方式使用C#来创建HTML输出。Razor视图模板减少了编写程序所需要输入的字符数量和敲击键盘的次数,并实现了快速、流畅的编码工作。下面添加更新视图、删除视图、新增视力的具体步骤: 阅读全文
posted @ 2019-07-09 19:10 DotNet菜园 阅读 (1029) 评论 (3) 编辑
摘要:在首页中,我们一般会用列表来展示信息。为了使用ASP.NET MVC Core强视图带给我们的好处(模型绑定、输入校验等等),我们需要创建一个ViewModel来进行模型绑定。因为ABP提倡为每个不同的应用服务提供不同的Dto进行数据交互,展示对应Dto。那我们创建的ViewModel就需要包含这几个模型,方可在一个视图中完成多个模型的绑定。 阅读全文
posted @ 2019-07-03 09:53 DotNet菜园 阅读 (1366) 评论 (7) 编辑
摘要:通过前面三篇文章的介绍,我们学习了如何创建实体,如何创建数据库操作,如何创建应用服务。在上一文章中我们在应用层实现了对数据库的CURD操作。在本篇文章中,主要是使用常规的MVC方式来实现增删改查的功能,通过完善Controller、View、ViewModel,以及调试修改控制器来实现展示层的增删改查。 阅读全文
posted @ 2019-06-27 14:14 DotNet菜园 阅读 (1225) 评论 (9) 编辑
摘要:在上一篇文章中学习了ABP的仓储(Repository)功能,Repository对数据库进行增删改查操作。在这一篇文章中我们主要了解应用服务层。 应用服务用于将领域(业务)逻辑暴露给展现层。展现层通过传入DTO(数据传输对象)参数来调用应用服务,而应用服务通过领域对象来执行相应的业务逻辑并且将DTO返回给展现层。因此,展现层和领域层将被完全隔离开来。 阅读全文
posted @ 2019-06-21 17:05 DotNet菜园 阅读 (1405) 评论 (2) 编辑
摘要:Repository用来操作数据库进行数据存取。仓储接口在领域层定义,而仓储的实现类应该写在基础设施层。在ABP中,仓储类要实现IRepository接口,接口定义了常用的增删改查以及聚合方法,其中包括同步及异步方法。如何自定义仓储实现类。 阅读全文
posted @ 2019-06-14 17:12 DotNet菜园 阅读 (1734) 评论 (3) 编辑
摘要:在上二篇文章中我们简单介绍了一下ABP.TPLMS系统的概况,已经对ABP的体系结构以及项目结构有了一个初步的了解。在这一篇文章中我们主要和领域层打交道,主要是创建实体与进行迁移。现在我们来完成以下任务:在领域层创建一个Entitys文件夹,并在这个文件夹中创建Module实体类。 阅读全文
posted @ 2019-06-05 17:41 DotNet菜园 阅读 (1975) 评论 (5) 编辑
摘要:ABP.TPLMS.Application,应用层:进行展现层与领域层之间的协调,协调业务对象来执行特定的应用程序的任务。它不包含业务逻辑,主要包含一些模型,abp重要的数据传输DTO,包括数据库映射实体,前端视图模型转实体(Entity)对象,一个应用服务方法通常被认为是一个工作单元(Unit of Work),使用一种像AutoMapper这样的工具来进行实体与DTO之间的映射,前端参数传入有限性验证等等 阅读全文
posted @ 2019-05-29 17:01 DotNet菜园 阅读 (1964) 评论 (2) 编辑
摘要:ABP是为新的现代Web应用程序使用最佳实践和使用最流行工具的一个起点。可作为一般用途的应用程序的基础框架或项目模板。本系列是介绍基于ABP+EasyUI的Web开发框架的形成过程,期间包括一些ABP的介绍,ASP.NET MVC Core技术、EasyUI技术、JQuery技术、WebAPI 技术,以及一些我对整体框架改造的基础性东西,力求更加稳定、通用、高效、简洁,最少的代码做最多的事情。我所使用的ABP版本是4.3,是2019年3月14日的版 阅读全文
posted @ 2019-05-23 17:06 DotNet菜园 阅读 (3525) 评论 (6) 编辑
摘要:ASP.NET Core MVC 包含对通过固定格式或根据客户端规范来设置响应数据格式的内置支持。 ASP.NET Web API的内容协商(Content Negotiation)机制的理想情况是这样的:客户端在请求头的Accept字段中指定什么样的MIME类型,Web API服务端就返回对应的MIME类型的内容(响应头的中Content-Type就是Accept中指定的MIME类型)。而现实情况是,Web API服务端能返回什么MIME类型的响应类型取决于有没有对应这个MIME类型的MediaTypeFormatter。ASP.NET Core Web API的默认提供JsonMediaTypeFormatter,如果要支持 XmlMediaTypeFormatter需要进行配置。 ASP.NET Core MVC 使用的默认格式是 JSON。 内容协商由 ObjectResult 实现。 它还内置于从帮助程序方法(全部基于 ObjectResult)返回的特定于状态代码的操作结果中。 还可以返回一个模型类型(已定义为数据传输类型的类),框架将自动 阅读全文
posted @ 2019-05-14 13:35 DotNet菜园 阅读 (1149) 评论 (0) 编辑