私のBlazorアプリケーションの起動ページはIndex.cshtmlです。起動ページをホームページ、つまりHome.cshtmlに変更したいのですが。
vs2019、ASPNET CORE Blazor(0.9.0-preview3-19154-020)を使用しています。
Blazor ServersideはStartup.csにルーティングを持っています。これはサービス用であり、ページ用ではないと思います。新しいBlazorプロジェクトを作成することで生成されたままになります。
app.UseMvc(routes =>
{
routes.MapRoute(name: "default", template: "{controller}/{action}/{id?}");
});
クライアントのスタートアップには(新しいBlazorプロジェクトによって生成されたもの)があります。
public void ConfigureServices(IServiceCollection services)
{
}
public void Configure(IComponentsApplicationBuilder app)
{
app.AddComponent<App>("app");
}
クライアント側のstartup.csにルーティングを何らかの方法で登録する必要がありますか?
index.cshtmlには1行のコードしかありません。
@page "/"
「スタートアップ」ページをIndex.cshtmlからHome.cshtmlに変更するにはどうすればよいですか?
私は多くの場所を調べて、Blazorが「実験的」であることを理解しました。この単純なものを変更するのが難しい方法で働いているように感じます。
これが私たちが最終的に何をしたか(良いか悪いか)... cshtmlファイルの次のコード行がエラーのoneを引き起こしていることが多数のテストを通じてわかりました:
@inject Microsoft.AspNetCore.Blazor.Services.WebAssemblyUriHelper UriHelper
この行を削除した後、次のように変更して他のエラーを修正しました:This =
// Create list of clients
List<Clients> clientList = new List<Clients>();
これに=
// Create list of clients
List<CWBlah.Shared.Models.Clients> clientList = new `List<CWBlah.Shared.Models.Clients>();`
そのため、スコーピングの問題であるように見えますが、理由は明確には理解できません。 @usingディレクティブをページの上部に追加すると、コードはそのディレクティブを「リッスン」しないようです。 @using CWBlah.Shared.Modelsを使用すると、変数全体をスコープするのではなく、クライアントを使用するだけで済みます。最終的にはリダイレクトを行わずに、すべての「ダッシュボード」ロジックを「Index.cshtml」に入れました。