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 {

}

运行成功

相关推荐
非优秀程序员3 小时前
第07章 孙德良的阳谋|《互联网产品恩仇录》
javascript·后端
Godspeed Zhao4 小时前
从零开始学AI25——无监督学习之层次聚类
学习·机器学习·聚类
程序员大阳7 小时前
HTML+CSS+JS对话式实战(5)-活动管理页之查看报名名单的实现
javascript·css·html·查看报名名单
新*10 小时前
从一段 WebSocket 代码聊开:bytes 不是 zlib、binaryType 决定一切,15MB 大消息的零拷贝优化
javascript·python·websocket·性能优化·blob·zlib·arraybuffer
David猪大卫11 小时前
【C++修炼】map 和 set 的使用
c语言·开发语言·数据结构·c++·经验分享·笔记·学习
OpsEye11 小时前
别再挨个充会员了:多模型编码,最麻烦的从来不是选模型
javascript·ai编程
HPtiger11 小时前
C++ 入门笔记:从 C 到 C++ 的核心过渡(命名空间、输入输出、缺省参数、重载、引用、内联)
c语言·c++·学习
星恒随风11 小时前
MySQL 从零入门(三):表的约束详解
linux·服务器·数据库·笔记·mysql
fengci.12 小时前
CTF2MISC中等部分
开发语言·前端·学习
学以智用12 小时前
jsencrypt.js 完整详解
javascript