abp(net core)+easyui+efcore实现仓储管理系统——供应商管理升级之下(六十四)

abp(net core)+easyui+efcore实现仓储管理系统目录

 
 
     承接上文(abp(net core)+easyui+efcore实现仓储管理系统——供应商管理升级之上(六十三)我们对供应商管理这个模块进行升级,并对升级过程中涉及到一些问题进行解决。

 

9.在Visual Studio 2022中按F5运行应用程序。在浏览器将呈现登录页面,然后输入管理员用户名进行登录。浏览器跳转到首页面。

10.在主界面的菜单中,选择“Business->供应商管理”菜单项,浏览器中呈现一个供应商信息列表页面,css起作用了,样式好看了。如下图。 abp(net core)+easyui+efcore实现仓储管理系统——供应商管理升级之下(六十四)

 

11然后点击供应商列表页面中的新增(Add)按钮,填写内容,然后点击“保存”按钮。如下图。

abp(net core)+easyui+efcore实现仓储管理系统——供应商管理升级之下(六十四)

 

12. 在“Create New Supplier”页面中我们输入完信息之后,点击“Save”按钮。应用程序报了一个错误。如下图。

abp(net core)+easyui+efcore实现仓储管理系统——供应商管理升级之下(六十四)

13.Supplier的增删改查,我们是调用的WebApi来实现保存到数据库与查询数据的操作,那么问题就可能出在WebAPI这一个项目中。在Visual Studio 2022的解决方案资源管理器中,选中“ABP.TPLMS.Web.Host”项目,然后单击鼠标右键,在弹出菜单中选中“设为启动项目”。按F5运行应用程序,程序报错。

14. 在Visual Studio 2022的解决方案资源管理器中,“ABP.TPLMS.Web.Host”项目的App_Data\Log目录下找到log.txt文件,这是一个日志文件。在文件中我找到如下,错误信息。

AspNetCore.Server.IIS.Core.IISHttpServer - Connection ID "18230571335350747201", 
Request ID "40000042-000a-fd00-b63f-84710c7967bb": An unhandled exception was thrown by the application. Microsoft.AspNetCore.Routing.Matching.AmbiguousMatchException: The request matched multiple endpoints. Matches: ABP.TPLMS.Suppliers.SupplierAppService.CreateAsync (ABP.TPLMS.Application) ABP.TPLMS.Suppliers.SupplierAppService.Create (ABP.TPLMS.Application) at Microsoft.AspNetCore.Routing.Matching.DefaultEndpointSelector.ReportAmbiguity(CandidateState[] candidateState) at Microsoft.AspNetCore.Routing.Matching.DefaultEndpointSelector.ProcessFinalCandidates
(HttpContext httpContext, CandidateState[] candidateState) at Microsoft.AspNetCore.Routing.Matching.DefaultEndpointSelector.Select(HttpContext httpContext,
CandidateState[] candidateState) at Microsoft.AspNetCore.Routing.Matching.DfaMatcher.MatchAsync(HttpContext httpContext) at Microsoft.AspNetCore.Routing.EndpointRoutingMiddleware.Invoke(HttpContext httpContext) at Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware.Invoke(HttpContext context)
15. 在Visual Studio 2022的解决方案资源管理器中,“ABP.TPLMS.Applicationt”项目的Suppliers目录下找到SupplierAppService.cs文件。在文件中有两个Create方法,代码如下:
 
using Abp.Application.Services;
using Abp.Domain.Repositories;
using ABP.TPLMS.Entitys;
using ABP.TPLMS.Suppliers.Dto;
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
 
namespace ABP.TPLMS.Suppliers
{
   public class SupplierAppService :AsyncCrudAppService<Supplier, SupplierDto, int,
PagedSupplierResultRequestDto, CreateUpdateSupplierDto, CreateUpdateSupplierDto
>,
ISupplierAppService {
public SupplierAppService(IRepository<Supplier, int> repository) : base(repository) { } public Task<SupplierDto> Create(CreateUpdateSupplierDto input) { return CreateAsync(input); } public override Task<SupplierDto> CreateAsync(CreateUpdateSupplierDto input) { var sin = input; return base.CreateAsync(input); } } }

 

16. 在Visual Studio 2022的解决方案资源管理器中,使用鼠标双击打开 SupplierAppService.cs文件。将Create方法注释。按F5运行应用程序。登录之后,点击“Supplier”目录,我们可以看到供应商列表页面。然后点击供应商列表页面中的Add按钮。

 abp(net core)+easyui+efcore实现仓储管理系统——供应商管理升级之下(六十四)

17. 在“Create New Supplier”页面中我们输入完信息之后,点击“Save”按钮。数据保存到数据库,应用会刷新供应商列表页面。如下图。

abp(net core)+easyui+efcore实现仓储管理系统——供应商管理升级之下(六十四)

 

 

 

原文链接:https://www.cnblogs.com/chillsrc/archive/2023/05/07/17379054.html

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:abp(net core)+easyui+efcore实现仓储管理系统——供应商管理升级之下(六十四) - Python技术站

(0)
上一篇 2023年5月6日
下一篇 2023年5月7日

相关文章

  • c#接口使用示例分享

    下面是详细讲解“c#接口使用示例分享”的完整攻略,包含以下几个部分: 1. 接口的介绍 在面向对象编程中,接口是一种重要的概念。接口定义了一个类应该具备的方法或属性,但并不实现这些方法或属性的具体逻辑。相反,这些方法或属性的实现需要由实现了接口的类来完成。这使得接口能够在不知道具体实现的情况下对代码进行抽象和规范。在C#中,接口通常被定义为使用 interf…

    C# 2023年6月1日
    00
  • C# 引入委托的目的是什么

    C#是一种多范式语言,支持面向对象编程、组件编程和泛型编程等多种范式。为了更好地支持面向对象编程,C#引入了委托(Delegate)这一概念。委托是一个类型,它封装了方法的签名和目标对象,即一个委托可以指向一个方法或者一组方法,并且调用时可以像调用普通的方法一样使用委托。 C# 引入委托的主要目的是为了实现回调函数,即在调用某个方法时,传入一个委托作为参数,…

    C# 2023年6月1日
    00
  • 无法从 int? 转换为 int 运行时出现错误

    问题分析 在程序中常常会使用到可空类型(Nullable Type),可空类型表示能存储特定值类型(如 int、float)或者 null 值。在使用可空类型时,我们需要注意到数据类型转换的问题。例如,当我们把一个可空类型的 int? 变量赋值给 int 类型的变量时,就需要进行数据类型转换。如果该 int? 变量的值为 null,就会在进行转换时出现运行时…

    C# 2023年5月15日
    00
  • C# Directory.GetDirectories – 获取目录下的所有子目录

    Directory.GetDirectories 方法的作用是获取指定目录中的所有子目录的名称。 使用方法: string[] directories = Directory.GetDirectories(path); 其中 path 参数为要获取子目录的目录路径。返回值 directories 为一个字符串数组,包含指定目录中所有的子目录名称。 该方法还有…

    C# 2023年4月19日
    00
  • C#实现简单的点餐系统

    点餐系统需求分析 首先,我们需要进行点餐系统的需求分析,以便确定点餐系统的功能和实现方式。点餐系统的需求可以包含以下几个方面: 用户可以从菜单中选择需要点的菜品,支持多选; 用户可以根据实际需求对菜品进行增删改查; 用户可以对已选的菜品进行修改和删除; 系统需要进行结算并生成订单。 数据库设计 在设计点餐系统时,需要考虑到存储数据的问题,我们可以使用关系型数…

    C# 2023年5月15日
    00
  • .net程序开发IOC控制反转和DI依赖注入详解

    以下是关于“.NET程序开发IOC控制反转和DI依赖注入详解”的完整攻略: 1. 什么是IOC控制反转和DI依赖注入 在.NET程序开发中,IOC控制反转和DI依赖注入是两个非常重要的概念。它们可以帮助我们更好地管理应用程序中的对象和依赖关系。 1.1. IOC控制反转 IOC控制反转是一种设计模式,它将对象创建和管理从应用程序代码中分离出来。在IOC控制反…

    C# 2023年5月12日
    00
  • C#实现文件压缩与解压的方法示例【ZIP格式】

    C#实现文件压缩与解压的方法示例【ZIP格式】 简介 文件压缩与解压是常见的电子数据处理方式之一。其中,ZIP格式是比较常见的压缩文件格式。本文将介绍如何使用C#实现ZIP格式文件的压缩和解压操作,以及实例说明。 实现ZIP格式文件压缩 引用命名空间 首先需要引用System.IO.Compression命名空间。 using System.IO.Compr…

    C# 2023年6月1日
    00
  • 深入反射生成数组的详解

    深入反射生成数组的详解 本文将详细介绍如何使用反射生成数组。反射是 Java 中非常有用的一个特性,可以在运行时获取和操作类的信息。数组作为 Java 中最基本的数据结构之一,对于开发人员来说也是非常重要的。通过反射生成数组的方式可以提高代码的灵活性和可重用性。 获取 Class 对象 在使用反射生成数组之前,需要先获取 Class 对象。可以通过多种方式获…

    C# 2023年6月7日
    00
合作推广
合作推广
分享本页
返回顶部