亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么 Blazor 不會路由到 razor 庫中的組件?

為什么 Blazor 不會路由到 razor 庫中的組件?

PHP
元芳怎么了 2024-01-20 21:05:32
我有一個 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>我也嘗試過針對 net core 3.0 和同樣的問題。我的 Razor 庫中只有 3 個文件。工作AccountNavigation.razor, Login.razor, 和_Imports.razor. 我有什么遺漏的嗎?
查看完整描述

4 回答

?
慕桂英3389331

TA貢獻2036條經驗 獲得超8個贊

需要這個關鍵部分:

使用AdditionalAssemblies 參數指定Router 組件在搜索可路由組件時要考慮的其他程序集。除了 AppAssembly 指定的程序集之外,還考慮指定的程序集。在以下示例中,Component1 是在引用的類庫中定義的可路由組件。以下AdditionalAssemblies示例導致對Component1的路由支持:

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


查看完整回答
反對 回復 2024-01-20
?
揚帆大魚

TA貢獻1799條經驗 獲得超9個贊

不確定這種情況何時或為何開始發生。但就我而言,每次添加或重命名 razor 組件時,它都會<remove>在 csproj 文件中向該組件添加一個項目。只需將其刪除即可。

使用 asp.net core 3.1 和 blazor 3.2 預覽版 2


查看完整回答
反對 回復 2024-01-20
?
九州編程

TA貢獻1785條經驗 獲得超4個贊

更改 Core 3.1 中 App.Razor 文件中的 Router 標簽,外部路由包含在內。

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

但有趣的是,一旦您包含 Razor 庫中的 1 個組件,您就會發現其他組件中的所有其他路由(至少在同一 Areas/Pages 文件夾中)也將起作用。


查看完整回答
反對 回復 2024-01-20
?
翻翻過去那場雪

TA貢獻2065條經驗 獲得超14個贊

如果有人遇到同樣的問題:

我不小心從 MainLayout.razor 文件中刪除了@Body,因此路由時沒有可見的更改。


查看完整回答
反對 回復 2024-01-20
  • 4 回答
  • 0 關注
  • 270 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號