一 为什么用Blazor

    原本就是后端程序员, 技术栈基于C#, 懂一点前端jQuery/Html

    不管是webAssembly还是ServerSide, 就是想方便地做单页应用, 能wasm自然更好

    对于项目进行一定阶段后繁琐的大量js调用如何合理规划很苦恼, 又没有深入了解流行的前端框架无法给出符合后端思维的解决方案.

  二 创建一个Blazor项目

    Visual Studio2019选择较成熟的ServerSide Blazor模板创建项目. 或者直接在原有asp.netcore项目的startup中注入blazor中间件.

    blazor是可以和asp.netcore mvc共存的.

  三 选择一款WebUI库

    AdminLTE3, 多少年了Bootstrap+jQuery一把梭

  四 做母版页/Layout

    曾经的母版页后来的Layout, 现在的Blazor也有这样的东东, 一个razor组件+@Body搞定.

    模板上需要子页面填充的部分用级联参数CascadingValue/CascadingParameter搞定, 如Title\Header之类的

  五 菜单项与页面的激活状态同步

    子页面的页标题\navBar\siderBar\面包屑等

    可使用级联参数或者组件事件解决. 激活状态css由事件监听后修改activate属性绑定, 可以实现多级菜单状态绑定, 需要引入@inject NavigationManager NavigationManager, 核心事件NotifyLocationChanged

  六 页面与服务器的数据交互

    @inject XXXService

    支持接口调用/支持事件触发(推送)

  七 后感

    用来做内部使用的监控系统/后台之类的很方便

05-25 08:18