在ABP的模块解决方案中使用BootstrapBlazor
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的更多相关文章
- 精简ABP的模块依赖
ABP的模块非常方便我们扩展自己的或使用ABP提供的模块功能,对于ABP自身提供的模块间的依赖关系想一探究竟,并且试着把不必要的模块拆掉,找到那部分核心模块.本次使用的是AspNetBoilerpla ...
- 3.2 Dependencies of the Projects in the Solution 解决方案中项目间的依赖项
3.2 Dependencies of the Projects in the Solution 解决方案中项目间的依赖项 The diagram below shows the essential ...
- 探索ABP的EventHub解决方案
在上一章中,我们构建了一个简单的全栈 Web 应用程序,我们已经看到了使用 ABP 框架开发应用的典型流程,在接下来,我们将使用 ABP 框架创建更高级的应用程序. 给出具有现实世界复杂性的例子并不容 ...
- 手动从0搭建ABP框架-ABP官方完整解决方案和手动搭建简化解决方案实践
本文主要讲解了如何把ABP官方的在线生成解决方案运行起来,并说明了解决方案中项目间的依赖关系.然后手动实践了如何从0搭建了一个简化的解决方案.ABP官方的在线生成解决方案源码下载参考[3],手动搭 ...
- ABP之模块
ABP的反射 为什么先讲反射,因为ABP的模块管理基本就是对所有程序集进行遍历,再筛选出AbpModule的派生类,再按照以来关系顺序加载. ABP对反射的封装着重于程序集(Assembly)与类(T ...
- ABP之模块系统
简介 ASP.NET Boilerplate提供了构建模块的基础结构,并将它们组合在一起以创建应用程序. 模块可以依赖于另一个模块. 通常,一个程序集被视为一个模块. 如果创建具有多个程序集的应用程序 ...
- P/Invoke出现错误 System.NullReferenceException”类型的未经处理的异常在 未知模块。 中发生 未将对象引用设置到对象的实例。
问题 “System.NullReferenceException”类型的未经处理的异常在 未知模块. 中发生 未将对象引用设置到对象的实例. 解决方案 1.尝试 用管理员身份运行CMD,输入nets ...
- 在SharePoint解决方案中使用JavaScript (2) – 模块化
本文是在SharePoint中使用JavaScript的第二篇文章,前面的文章包括: 在SharePoint解决方案中使用JavaScript (0) 在SharePoint解决方案中使用JavaSc ...
- TDSQL | 在整个技术解决方案中HTAP对应的混合交易以及分析系统应该如何实现?
从主交易到传输,到插件式解决方案,每个厂商对HTAP的理解和实验方式都有自己的独到解法,在未来整个数据解决方案当中都会往HTAP中去牵引.那么在整个技术解决方案中HTAP对应的混合交易以及分析系统应该 ...
- Abp 审计模块源码解读
Abp 审计模块源码解读 Abp 框架为我们自带了审计日志功能,审计日志可以方便地查看每次请求接口所耗的时间,能够帮助我们快速定位到某些性能有问题的接口.除此之外,审计日志信息还包含有每次调用接口时客 ...
随机推荐
- [转帖]学习linux必须知道的命令
https://www.cnblogs.com/aibeier/p/15315487.html 基础不牢,地动山摇.在linux命令行下查看命令帮助man用于查看命令的帮助信息 man cp--hel ...
- [转帖]CentOS8安装MySQL8详细教程,爬坑必备
https://www.ab62.cn/article/23022.html 安装环境 CentOS:8.5.2111MySQL:8.0.30 MySQL Community Server 安装过程 ...
- TCP内核参数的简单验证
前言 春节假期时学习了下内核参数与nginx的调优 最近因为同事遇到问题一直没有解,自己利用晚上时间再次进行验证. 这里将几个参数的理解和验证结果简单总结一下. 希望能够在学习的过程中将问题解决掉. ...
- K8S多节点情况下使用nginx负载ingress或者是istio域名服务的处理
K8S多节点情况下使用nginx负载ingress或者是istio域名服务的处理 背景 公司内部有一个自建的K8S测试集群.同事这边使用istio或者是ingress发布了一个域名服务. 公司这边的D ...
- 参照DefenseGrid在Unity中实现合理的塔防寻路机制
前言 在一款TD游戏中,最重要的单位就两大类:防御塔(Tower)和敌人单位(Enemy).在处理敌人单位的AI行为时,最基本也是最重要的就是自动寻路.在各式TD游戏中,防御塔的攻击方式以及敌人单位的 ...
- 学习MySQL中DDL语句的修改字段与删除字段,删除表
连接本地mysql语句 mysql -hlocalhost -uroot -proot 显示表结构 语法:desc 表名 查看某一个表结构以及注释 语法:show create table 表名 sh ...
- vue/cli中css.sourceMap-open-inline-host-port-https-openPage-compress -devServer.proxy的简单介绍
Vue/cli4.0 配置属性--css.sourceMap 设置是否开启 css 的 sourse map功能. css 的 sourse map作用类似与 js 的 sourse map. 注意: ...
- 通过dotnet-dump分析生产环境docker容器部署的应用问题
首先找到对应的docker id并exec进去,然后执行命令并更新apt包+下载procps和wget用于等下拉取dotnet-dump和查看线程 sed -i -e "s@deb.debi ...
- Jupyter Notebook 下 import 第三方库,显示 no module xxx 【本质是环境没有切换过来】
1.最简单情况下 切换环境即可 首先激活环境: activate env # 激活你的环境名称 jupyter notebook 之后去运行代码即可,如果还不行请看下面: 2.遇到Jupyt ...
- Linux 文本处理三剑客应用
Linux 系统中文本处理有多种不同的方式,系统为我们提供了三个实用命令,来实现对行列的依次处理功能,grep命令文本过滤工具,cut列提取工具,sed文本编辑工具,以及awk文本报告生成工具,利用这 ...