gpt4 book ai didi

Blazor - Razor 类库 - 重用完整的 blazor 页面

转载 作者:行者123 更新时间:2023-12-03 20:12:46 24 4
gpt4 key购买 nike

我这里有问题,

我创建了一个带有核心 3.1 的 Blazor 应用程序(服务器端),然后我创建了一个 Razor 类库(旧的 razorlib)
使用这个类库,我可以创建 blazor comp 并在我的 blazor 应用程序 < myComp > 中重用,共享 Css 甚至创建完整的 Razor View ,如 Area/MyAdmin/Pages/Page1.cshtml 并从我的 Blazor 应用程序调用 https://MyApp/MyAdmin/Page1 使用它,抱歉对大介绍,我的问题是,如何像页面一样重用完整的 Blazor 组件?在我的 Razor 类库中添加一个文件夹 Pages 并在其中添加 Contact.razor 并且它不会用作我的 Blazor 应用程序中的 < Contact > 但我将能够像 https://MyApp/Contact 一样调用?

有人可以给我一个例子吗?谢谢!

最佳答案

要在 Blazor 项目中显示 Razor 类库中的页面,需要执行几个步骤:

  • 创建类库(存在模板)
  • 向类库添加页面
  • 将项目引用添加到您的 blazor 项目(右键单击依赖项...)
  • 在 Blazor 项目中,将 Razor 组件库的程序集添加到 Router 组件中(在此示例中,Razor 组件库的名称是 GeneralUi)。您可以通过设置 AdditionalAssemblies 参数来做到这一点:
       <Router AppAssembly="@typeof(Program).Assembly"
    AdditionalAssemblies="new[] { typeof(GeneralUi.About).Assembly}">
    <Found Context="routeData">
    <RouteView RouteData="@routeData" DefaultLayout="@typeof(MainLayout)" />
    </Found>
    <NotFound>
    <LayoutView Layout="@typeof(MainLayout)">
    <p>Sorry, there's nothing at this address.</p>
    </LayoutView>
    </NotFound>
    </Router>

  • 重要的是,您只需从 Razor 组件库中获取一个页面(无论您选择哪个)。通过该步骤,您可以从 Razor 组件库路由到页面。
    如果您只想使用组件(无页面),您可以删除第 4 步。然后您只需将该组件包含在另一个组件中。如果不想提供完整的命名空间,只需在 Blazor 项目的 _Imports.razor 文件中添加命名空间。
    如果您在 Razor 类库中定义了样式,则需要将这些样式(文件)添加到 Blazor 项目中。在 Blazor WebAssembly 中,您只需添加以下内容即可在 index.html 文件中执行此操作:
    <link href="_content/GeneralUi/css/styles.css" rel="stylesheet" />
    _content 是一个命名约定,它需要告诉样式文件来自另一个程序集/项目。在这个例子中,样式文件 styles.css 来自GeneralUi项目,它放在wwwroot文件夹下的css文件夹中(wwwroot文件夹中都是一个项目的静态 Assets )

    关于Blazor - Razor 类库 - 重用完整的 blazor 页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59371239/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com