Нет, только простые типы (int, string и т. Д.). Я бы посоветовал не использовать этот тип привязки для строк. Причина в том, что URL имеет зарезервированные символы, которые преобразуются, если они не находятся в строке запроса, добавленной в конец URL. Кроме того, если ваши строки содержат косые черты, Blazor будет обрезать строку. Например,
переход к "/ account / login / test / 123" приведет к id = test.
@page "/account/login/"
@page "/account/login/{id}"
@using Model
@(Customer?.Name ?? "Empty")
@code {
[Parameter]
public string id{ get; set; }
}
Есть несколько способов преодолеть это.
- Отправьте идентификатор (см. Пример кода выше) и выполните запрос сервера для получения ваших данных.
- Создайте службу менеджера состояний в приложении, которую можно использовать для передачи объектовмежду страницами / компонентами.
У меня была ситуация, когда мне нужно было отправить сложную строку токена Identity в компонент Blazor через URL, я использовал строку запроса и вручную проанализировал строку с помощью NavigationManager.Uri,Этот пост достаточно длинный, если вы хотите увидеть пример моего разбора строки запроса, дайте мне знать.
Надеюсь, это поможет!