.net core dotnet core 2.2布局页面和组件

.net core dotnet core 2.2布局页面和组件,.net-core,razor-pages,.net Core,Razor Pages,我正在使用dotnetcore 2.2和Razor页面启动一个新应用程序。我想“组件化”布局文件的导航栏部分,以显示用户名,并根据登录者隐藏/显示菜单项。最好的方法是什么?我试过使用partials,但似乎无法实现。 有什么建议吗?对于您所描述的内容,视图组件是一个不错的选择: Default.cshtml: @model NvarBarModel <nav class="navbar navbar-expand-lg navbar-light bg-light"> <a

我正在使用dotnetcore 2.2和Razor页面启动一个新应用程序。我想“组件化”布局文件的导航栏部分,以显示用户名,并根据登录者隐藏/显示菜单项。最好的方法是什么?我试过使用partials,但似乎无法实现。
有什么建议吗?

对于您所描述的内容,视图组件是一个不错的选择:

Default.cshtml:

@model NvarBarModel

<nav class="navbar navbar-expand-lg navbar-light bg-light">
  <a class="navbar-brand" href="#">Navbar</a>
  // ...

  <div class="collapse navbar-collapse" id="navbarSupportedContent">
    // ...
  </div>
</nav>
在布局页面中:

@await Component.InvokeAsync("NavBar")
您也可以使用标记帮助器调用组件,但上次我尝试时出现了一个bug(功能?),它要求视图组件构造函数中的每个参数都包含在帮助器中,或者它根本没有呈现


谢谢,杰夫,这正是我想要的。我很惊讶VisualStudio在“添加新项目”对话框中并没有使其成为一级公民(或者他们确实这样做了,但我还没有看到)。不,你是对的@WOPR,出于某种原因,它需要一点手动设置。
@await Component.InvokeAsync("NavBar")