web-dev-qa-db-fra.com

Créer une page de démarrage dans Blazor

La page de démarrage de mon application Blazor est Index.cshtml. Je voudrais changer la page de démarrage en page d'accueil, à savoir mon Home.cshtml.
J'utilise vs2019, ASPNET CORE Blazor (0.9.0-preview3-19154-020).

Blazor Serverside a un routage dans le Startup.cs, qui je pense est pour les services, et non pour les pages ... et est laissé tel qu'il est généré par la création d'un nouveau projet Blazor.

app.UseMvc(routes =>
{
   routes.MapRoute(name: "default", template: "{controller}/{action}/{id?}");
});

Le démarrage du client a (tel que généré par un nouveau projet Blazor):

public void ConfigureServices(IServiceCollection services)
{
}

 public void Configure(IComponentsApplicationBuilder app)
{
     app.AddComponent<App>("app");
}

Dois-je enregistrer le routage dans le startup.cs côté client d'une manière ou d'une autre?

l'index.cshtml ne contient qu'une seule ligne de code:

@page "/"

Comment changer ma page de démarrage d'Index.cshtml en Home.cshtml?

J'ai regardé dans beaucoup d'endroits et je comprends que Blazor est "expérimental". On dirait que je travaille dur pour changer quelque chose d'aussi simple.

4
PeteBal

Voici ce que nous avons fini par faire (pour le meilleur ou pour le pire) ... Nous avons constaté à travers de nombreux tests que la ligne de code suivante dans le fichier cshtml causait ne des erreurs:

@inject Microsoft.AspNetCore.Blazor.Services.WebAssemblyUriHelper UriHelper

Après avoir supprimé cette ligne, nous avons corrigé l'autre erreur en modifiant: This =

// Create list of clients
List<Clients> clientList = new List<Clients>();

à ceci =

// Create list of clients
List<CWBlah.Shared.Models.Clients> clientList = new `List<CWBlah.Shared.Models.Clients>();`

Il semble donc que ce soit un problème de portée, même si je ne comprends pas clairement pourquoi. Lorsque j'ajoute la directive @using en haut de la page, le code ne semble pas "écouter" cette directive. Je m'attendrais à ce que @using CWBlah.Shared.Models me permette d'utiliser simplement des clients au lieu de délimiter la totalité de la variable. nous avons fini par ne pas faire la redirection, mais nous avons fini par mettre toute notre logique de "tableau de bord" dans "Index.cshtml".

0
PeteBal