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

成功后效果如下:

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

没有修改前是这样:

修改后是这样:

3、修改Program.cs

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

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

修改后:

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

5、启动吧

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

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

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

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

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

执行命令abp install-libs

耐心等待:

执行成功啦:

8、再次启动

成功啦!

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

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

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

修改前:

修改后:

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

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

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

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

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

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

成功后如下图:

12、设置页面的网址

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

13、注入订单的服务

就是加一句@inject ICustomerOrdersAppService CustomerOrdersAppService

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

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

15、强势启动一下

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

控制台报错:

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

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

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

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

输入默认用户admin

默认密码:

1q2w3E*

登入后自动跳转到了/orders

这篇文章就先到这里。

在ABP的模块解决方案中使用BootstrapBlazor的更多相关文章

  1. 精简ABP的模块依赖

    ABP的模块非常方便我们扩展自己的或使用ABP提供的模块功能,对于ABP自身提供的模块间的依赖关系想一探究竟,并且试着把不必要的模块拆掉,找到那部分核心模块.本次使用的是AspNetBoilerpla ...

  2. 3.2 Dependencies of the Projects in the Solution 解决方案中项目间的依赖项

    3.2 Dependencies of the Projects in the Solution 解决方案中项目间的依赖项 The diagram below shows the essential ...

  3. 探索ABP的EventHub解决方案

    在上一章中,我们构建了一个简单的全栈 Web 应用程序,我们已经看到了使用 ABP 框架开发应用的典型流程,在接下来,我们将使用 ABP 框架创建更高级的应用程序. 给出具有现实世界复杂性的例子并不容 ...

  4. 手动从0搭建ABP框架-ABP官方完整解决方案和手动搭建简化解决方案实践

      本文主要讲解了如何把ABP官方的在线生成解决方案运行起来,并说明了解决方案中项目间的依赖关系.然后手动实践了如何从0搭建了一个简化的解决方案.ABP官方的在线生成解决方案源码下载参考[3],手动搭 ...

  5. ABP之模块

    ABP的反射 为什么先讲反射,因为ABP的模块管理基本就是对所有程序集进行遍历,再筛选出AbpModule的派生类,再按照以来关系顺序加载. ABP对反射的封装着重于程序集(Assembly)与类(T ...

  6. ABP之模块系统

    简介 ASP.NET Boilerplate提供了构建模块的基础结构,并将它们组合在一起以创建应用程序. 模块可以依赖于另一个模块. 通常,一个程序集被视为一个模块. 如果创建具有多个程序集的应用程序 ...

  7. P/Invoke出现错误 System.NullReferenceException”类型的未经处理的异常在 未知模块。 中发生 未将对象引用设置到对象的实例。

    问题 “System.NullReferenceException”类型的未经处理的异常在 未知模块. 中发生 未将对象引用设置到对象的实例. 解决方案 1.尝试 用管理员身份运行CMD,输入nets ...

  8. 在SharePoint解决方案中使用JavaScript (2) – 模块化

    本文是在SharePoint中使用JavaScript的第二篇文章,前面的文章包括: 在SharePoint解决方案中使用JavaScript (0) 在SharePoint解决方案中使用JavaSc ...

  9. TDSQL | 在整个技术解决方案中HTAP对应的混合交易以及分析系统应该如何实现?

    从主交易到传输,到插件式解决方案,每个厂商对HTAP的理解和实验方式都有自己的独到解法,在未来整个数据解决方案当中都会往HTAP中去牵引.那么在整个技术解决方案中HTAP对应的混合交易以及分析系统应该 ...

  10. Abp 审计模块源码解读

    Abp 审计模块源码解读 Abp 框架为我们自带了审计日志功能,审计日志可以方便地查看每次请求接口所耗的时间,能够帮助我们快速定位到某些性能有问题的接口.除此之外,审计日志信息还包含有每次调用接口时客 ...

随机推荐

  1. [转帖]总结:记一次K8S容器OOM案例

    一.背景 最近遇到个现象,hubble-api-open组件过段时间会内容占满,从而被K8S强制重启. 让我困惑的是,已经设置了-XX:MaxRAMPercentage=75.0,我觉得留有了一定的空 ...

  2. [转帖]kubelet 原理解析三:runtime

    本文转自:https://feisky.xyz/posts/kube... 架构 Kubelet 架构图 Generic Runtime Manager:这是容器运行时的管理者,负责于 CRI 交互, ...

  3. 使用Configmap 配置 springboot的application.yaml文件的方式部署环境的方法

    Configmap部署k8s下Springboot服务的办法 前提 日常工作中需要使用k8s部署微服务环境, 但是内部的数据库连接和redis等连接非常麻烦,使用helm chart 进行变量替换时非 ...

  4. 加快ios的出包速度

    在导出ipa时,通过这几种方法,可以更快地导出ipa来进行测试 不勾选bitcode 在导出ipa时,不勾选bitcode,这样会加快出包的速度,但导出来的ipa会大一些,关于bitcode可查看:& ...

  5. docker镜像打包,上传

    docker镜像打包 前言 简单栗子 1.制作dockerfile 2.打包镜像 3.镜像打上tag 4.上传到仓库 docker镜像打包 前言 docker打包镜像 简单栗子 使用nginx打包一个 ...

  6. dropzone基本使用

    dropzone是一个实现拖拽上传文件的一个插件. 生成拖拽区域 1 <div style="width: 1078px;margin: 0 auto;border: 2px ligh ...

  7. CORS小结

    1.说明 https://www.cnblogs.com/xuanyuan/p/12979841.html 该文基于故事图文并茂地讲述了跨域的前生今世,因为文章是故事形式,里面的一些要点都只是一提而过 ...

  8. Java并发(二十三)----同步模式之保护性暂停

    1.定义 即 Guarded Suspension,用在一个线程等待另一个线程的执行结果 要点 有一个结果需要从一个线程传递到另一个线程,让他们关联同一个 GuardedObject 如果有结果不断从 ...

  9. Python 元组详细使用

    1. 元组 元组和列表类似,但属于不可变序列,元组一旦创建,用任何方法都不可修改其元素. 元组的定义方式和列表相同,但定义时所有元素是放在一对圆括号"()"中,而不是方括号中. 1 ...

  10. SpringBoot实现统一异常处理

    目录 前言 实现步骤 定义统一响应对象类 定义业务异常枚举接口和实现 定义业务异常基类 定义全局异常处理切面 测试和验证 总结 前言 近日心血来潮想做一个开源项目,目标是做一款可以适配多端.功能完备的 ...