商城首页欢迎来到中国正版软件门户

您的位置:首页 >Blazor布局怎么用?详细教程来了

Blazor布局怎么用?详细教程来了

  发布于2026-01-27 阅读(0)

扫一扫,手机访问

Blazor布局是继承LayoutComponentBase的UI复用组件,核心为@Body占位与@layout指定;可单页设置、全局默认或禁用;支持嵌套布局实现多级结构。

Blazor 布局(Layout)怎么使用

Blazor 布局(Layout)本质是复用 UI 结构的组件,核心就两点:定义一个继承 LayoutComponentBase 的组件,在里面放 @Body 占位;然后让页面“认它当母版页”——要么单页指定,要么全局统一。

怎么写一个布局组件

Shared 文件夹里新建 MainLayout.razor(推荐位置),内容类似这样:

  • 开头必须写 @inherits LayoutComponentBase
  • @Body 标记子页面内容插入的位置
  • 可以像普通组件一样用 @code、数据绑定、注入服务
  • 配套样式自动匹配同名文件 MainLayout.razor.css(CSS 隔离生效)

示例:

@inherits LayoutComponentBase
我的顶部导航
@Body
© @DateTime.Now.Year

怎么让页面用上这个布局

有两种方式,按需选择:

  • 单页指定:在某个 .razor 页面顶部加一行 @layout MainLayout
  • 全局默认:打开 App.razor,把 <RouteView> 改成 <RouteView RouteData="@routeData" DefaultLayout="typeof(MainLayout)" />

一旦设了全局默认,所有没显式声明 @layout 的页面都会自动套用它。

怎么跳过布局(比如登录页)

有些页面不需要公共导航或页脚,比如登录页、404 页。有俩办法:

  • 在页面顶部写 @layout null,直接禁用布局
  • App.razor 里用条件逻辑控制:@if (routeData.PageType != typeof(Pages.Login)) { <RouteView ... /> } else { <RouteView RouteData="@routeData" /> }

嵌套布局怎么搞

如果某类页面还要再套一层专属结构(比如后台管理页带侧边菜单),可以嵌套:

  • 新建子布局(如 AdminLayout.razor),同样 @inherits LayoutComponentBase
  • 在子布局顶部加 @layout MainLayout,表示它自己也用主布局包装
  • 子页面引用 @layout AdminLayout,就能同时获得两级结构

本质上就是“布局套布局”,层级清晰,不冲突。

基本上就这些。布局不是魔法,就是把重复 HTML 提出来,靠继承和占位实现复用——改一处,全站同步更新。

本文转载于:互联网 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注