問題

我有一個Blazor應用程式和一個Razor庫.

在我的Razor庫中,我有一個元件,AccountNavigation.razor,我能夠使用html語法並正常工作,如:<AccountNavigation />

問題是另一個元件,Login.razor位於同一個庫中,其頂部寫有@page "/login".沒有連結工作到href="/login",或者即使我手動嘗試路由它也不起作用.如果我將Login.razor移動到Blazor應用程式專案,那麼它將工作.

我的Razor庫專案如下:

 <Project Sdk="Microsoft.NET.Sdk.Razor">

  <PropertyGroup Label="Globals">
    <SccProjectName>SAK</SccProjectName>
    <SccProvider>SAK</SccProvider>
    <SccAuxPath>SAK</SccAuxPath>
    <SccLocalPath>SAK</SccLocalPath>
  </PropertyGroup>

  <PropertyGroup>
    <TargetFramework>netstandard2.1</TargetFramework>
    <GeneratePackageOnBuild>true</GeneratePackageOnBuild>
    <Version>1.0.3.5</Version>
    <LangVersion>8.0</LangVersion>
    <RazorLangVersion>3.0</RazorLangVersion>
  </PropertyGroup>


  <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.Components" Version="3.0.0" />
    <PackageReference Include="Microsoft.AspNetCore.Components.Web" Version="3.0.0" />
    <PackageReference Include="Microsoft.AspNetCore.Mvc.RazorPages" Version="2.2.5" />
  </ItemGroup>

</Project>
 

我也嘗試了target net core 3.0和同樣的問題.我的Razor庫只有3個檔案.工作AccountNavigation.razor,Login.razor_Imports.razor.我錯過了什麼嗎?

  最佳答案

感謝CoolBots指向我關於 Blazor Routing 的文件,我需要這個關鍵部分:

使用 AdditionalSales 引數指定附加值 javascript – 搜尋Router元件時考慮的元件 此外還考慮指定的元件 到AppAssembly指定的程式集.在以下示例中, Component1是在引用類中定義的routable元件 圖書館.以下AdditionalSales示例導致路由 對Component1的支援:

 <Router AppAssembly="typeof(Program).Assembly"
AdditionalAssemblies="new[] { typeof(Component1).Assembly }> ...
 

  相同標籤的其他問題

c#razorblazorblazor-server-side.net-core-3.0