在ABP的模块解决方案中使用BootstrapBlazor

amisoft / 2023-05-12 / 原文

1、为Study.Trade.Blazor.Server.Host引入两个包

3

成功后效果如下:

4

2、修改Study.Trade.Blazor.Server.Host的Pages目录下的_Host.cshtml文件

没有修改前是这样:

2

修改后是这样:

5

3、修改Program.cs

官网说了,net 5就修改StartUp.cs,net 6以上就修改Program.cs。我们都net 7了,自然是修改Program.cs

没有修改前(我们将在红框的两行代码中间增加内容)

6

修改后:

7

4、修改Web的承载方式,不使用IIS Express。

8

9

5、启动吧

18

11

点“高级”,再选择“接受风险并继续”

12

6、浏览器显示了新的错误

13

修复这个错误,就是需要运行abp install-libs这个命令

7、为Study.Trade.Blazor.Server.Host运行abp install-libs

在Study.Trade.Blazor.Server.Host项目上点右键,选择“在终端中打开”

14

执行命令abp install-libs

15

耐心等待:

16

执行成功啦:

17

8、再次启动

18

成功啦!

但是只是项目在引入了BootstrapBlazor组件后,“依然能正常运行”而已,我们并没有使用任何BootstrapBlazor的控件。

19

9、为Study.Trade.Blazor项目添加BootstrapBlazor的包

1

2

3

4

5

10、修改Study.Trade.Blazor项目的_Imports.razor文件

修改前:

1

修改后:

1)删除了ABP默认的Blazorise组件需要的2行命名空间;

2)BootstrapBlazor组件需要引用BootstrapBlazor.Components

3)我们的例子需要ABP Suite自动生成的和Customer Order有关的代码,所以需要引用Study.Trade.CustomerOrders

2

11、开始写我们的第一个Blazor页面

如下图,在Pages/Trade目录上点右键,选择“添加”,再选择“Razor组件……”:

3

名称我们输入OrderList,然后点“添加(A)”:

4

成功后如下图:

5

12、设置页面的网址

就是在razor顶部加一句@page "/orders"即可:

6

13、注入订单的服务

就是加一句@inject ICustomerOrdersAppService CustomerOrdersAppService

(在__mports.razor里已经引用了命名空间了)

7

14、用BootstrapBlazor的Table组件来呈现CustomerOrder的列表

14

15、强势启动一下

启动后,不要点“登入”按钮,而是直接在浏览器地址栏后边加上/orders,进入我们开发的页面。

控制台报错:

8

报的错误是权限异常,也就是用户不须有特定的权限。

浏览器的Table的位置一直转啊转,网页底部有黄色警告栏

9

10

15、给页面声明需要的授权

11

16、再访问/orders路径的时候,被重定向到了登入页面

12

输入默认用户admin

默认密码:

1q2w3E*

登入后自动跳转到了/orders

13

这篇文章就先到这里。