Как создать объект Blazor RouteData на основе типа компонентов или относительной строки Url

#blazor

Вопрос:

Я хочу передать определенный маршрут, например «/счетчик», этому компоненту:

  <RouteView RouteData="@routeData" DefaultLayout="@typeof(MainLayout)" />
 

Переменная @RouteData, как это сделать?

Комментарии:

1. Вы пытаетесь перейти на этот маршрут или делаете что-то другое? Используйте навигационный менеджер, если вы пытаетесь перейти на эту страницу.

Ответ №1:

Вы не. Вы не можете передать URL-адрес маршрута в RouteView. Router преобразует маршрут URL-адреса в RouteData объект и передает его в качестве параметра RouteView компоненту.

RouteData в основном содержит:

  • Тип страницы — тип компонента для отображения в макете Body .
  • Значения маршрута — параметры, полученные из маршрута.

Чего вы пытаетесь достичь?

Комментарии:

1. Поскольку отрисовка компонента blazor (в webview2), имеющего макет, в Windows forms не отображается макет, и единственный способ показать макет-это отрисовка приложения.razor, а затем перейдите к этому компоненту (например /счетчик) Я хотел сначала отобразить App.razor и передать маршрут компонента в качестве параметра для отображения целевого компонента (/счетчика).

2. Звучит сложно. Без более подробной информации я бы не знал, что предложить.