C# Blazor 学习笔记(3):路由管理

文章目录

前言

我们知道使用Blazor的官方模板,我们会自动得到一个拥有侧边栏的布局页面。但是我们发现我们所有新建的页面都有侧边栏。有时候我们需要跳出这个布局,比如我要做登录页面的时候,我们就希望只显示一个完整的页面,而不显示侧边栏。

路由管理

讲到Blazor的路由管理,那么就要讲到Blazor是怎么运行的。

App.razor

App.razor和Vue的App.vue很像。或者说Blazor继承了React,Vue,Angluar的优点。你可以看到很多其它前端框架的知识。虽然是缝合怪,但是缝的很不错。对于开发人员来说,好用就行了。

我们可以看到有多级标签

  • Router:路由管理
    • Found:如果页面找得到
      • RouteView:路由布局管理
        • DefaultLayout:默认路由管理布局
      • FocusOnNavigate:设置焦点,暂时不知道有啥用
    • NotFound:如果页面找不到

其实最重要的就是这个DefaultLayout,他指向了MainLayout,我们看看MainLayout里面是什么东西

html 复制代码
@inherits LayoutComponentBase

<PageTitle>BlazorApp1</PageTitle>

<div class="page">
    <div class="sidebar">
        <NavMenu />
    </div>

    <main>
        <div class="top-row px-4">
            <a href="https://docs.microsoft.com/aspnet/" target="_blank">About</a>
        </div>

        <article class="content px-4">
            @Body
        </article>
    </main>
</div>

重要的就是两个

  • @inherits LayoutComponentBase
    • 继承布局组件基类
  • @Body
    • 设置布局内容位置

设置登录页面

绕了一个大圈,终于到如何设置登录页面了。其实很简单,默认创建的都是执行默认布局。我们指定布局就可以了。

设置空布局

设置一个空布局

LoginLayout

复制代码
@inherits LayoutComponentBase

@Body

然后写一个登录页面

LoginLayout

复制代码
@page "/login"
@layout LoginLayout
<h3>Login</h3>
<h3>这个是登录页面</h3>

@code {

}

运行成功

相关推荐
会飞的不留神2 分钟前
【图形学笔记】概率密度函数的通俗理解和应用
笔记
悠哉悠哉愿意4 分钟前
【强化学习学习笔记】马尔科夫决策过程
笔记·学习·交互·强化学习
babe小鑫5 分钟前
高职商务数据分析与应用专业学习数据分析的重要性
学习·数据挖掘·数据分析
Highcharts.js11 分钟前
Highcharts 3D漏斗图(Funnel 3D)完全指南:从模块加载到一文学会三维漏斗可视化
javascript·开发文档·highcharts·图表开发·漏斗图·3d 图表
盐焗西兰花20 分钟前
鸿蒙学习实战之路-STG系列(1/11)-屏幕时间守护服务全攻略
学习·华为·harmonyos
我是伪码农24 分钟前
Vue 2.11
前端·javascript·vue.js
山岚的运维笔记30 分钟前
SQL Server笔记 -- 第52章 拆分字符串函数
数据库·笔记·sql·mysql·microsoft·sqlserver
啊阿狸不会拉杆31 分钟前
《机器学习导论》第 17 章 - 组合多学习器
人工智能·python·学习·算法·机器学习·聚类·集成学习
wuhen_n32 分钟前
JavaScript 防抖与节流进阶:从原理到实战
前端·javascript
打瞌睡的朱尤35 分钟前
Vue day11商品详细页,加入购物车,购物车
前端·javascript·vue.js