代码改变世界

天行健,君子以自强不息

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

1、在Shared文件夹下新增一个razor

0

1

2、页面初始化的时候获取订单信息

准备一个名为OrderId的参数

2

准备重写页面初始化时的方法

3

改成异步的形式来重写

4

4、获取数据

就3行代码。

声明这个razor从TradeComponentBase继承,仅仅是为了直接调用ObjectMapper。

因为ABP Suite自动生成的代码,只能直接返回Dto对象,而不能直接返回UpdateDto,所以需要先获取Dto,再映射到UpdateDto。

5

5、更新数据到数据库

16

6、准备OrderUpdatePage来测试效果

6

7、OrderUpdatePage从URL里面获取订单的编号

7

8、在页面合适的区域放置OrderUpdateView,并且把URL中的OrderID,传递给OrderUpdateView组件

8

9、启动程序,在浏览器中测试效果

直接输入编辑订单的网址,页面报错

9

控制台有详细的异常信息,原来是没有CustomerOrderDto到CustomerOrderUpdateDto的映射:

10

10、添加CustomerOrderDto到CustomerOrderUpdateDto的映射

打开Study.Trade.Blazor项目的TradeBlazorAutoMapperProfile.cs文件

11

添加一行:

13

11、再次直接进入编辑页面,成功

14

保存后,跳转到列表页面,看到了自己更新的摘要。

15

12、最后为什么看到了订单的Guid?

因为先前为了直接在浏览器里输入订单的Guid,所以修改了订单列表的视图,增加了显示Id的列:

17

posted on 2023-05-12 02:46  终南山人  阅读(143)  评论(0)    收藏  举报