【发布时间】:2021-01-09 15:24:49
【问题描述】:
我正在尝试通过单击按钮将两个 blazor 页面链接在一起。我想将字符串列表作为参数传递给其他页面。
现在我尝试在所需页面上添加路线:
@page "/page1/{filterValues}"
在代码部分我定义参数如下:
[Parameter]
public IEnumerable<String> filterValues { get; set; }
在另一个页面中,我只是尝试调用带有列表末尾的 url,如下所示:
NavManager.NavigateTo("/page1/"+filterValues);
但这似乎不起作用。网址如下所示: https://localhost:5001/page1/System.Collections.Generic.List%601[System.Object].Cast()
我在控制台中收到此错误:
Microsoft.AspNetCore.Components.WebAssembly.Rendering.WebAssemblyRenderer[100]
Unhandled exception rendering component: Unable to set property 'filterValues' on object of type 'Proj.Client.Pages.page1'. The error was: Specified cast is not valid.
System.InvalidOperationException: Unable to set property 'filterValues' on object of type 'Proj.Client.Pages.page1'. The error was: Specified cast is not valid.
谁能解释我如何通过 url 将字符串列表作为参数传递?
【问题讨论】:
-
这个字符串列表会有多大?
-
最后我想发送 4 个不同的列表。最大的将是大约 8 到 10 个条目。
标签: list url parameters routes blazor