C# 如何通过定位标记帮助器传递值数组?
我正在使用Asp.Net Core 2.1C# 如何通过定位标记帮助器传递值数组?,c#,asp.net-core,.net-core,asp.net-core-2.0,asp.net-core-tag-helpers,C#,Asp.net Core,.net Core,Asp.net Core 2.0,Asp.net Core Tag Helpers,我正在使用Asp.Net Core 2.1页面 public async Task OnGetAsync([FromQuery(Name = "status")] string[] myValues) { } 我试图从锚定标记帮助程序传入一个值数组,但在myValues中接收到的只是一个项目。如果我手动键入查询字符串以镜像MyRoute?myValues=A&myValues=B,它将按预期工作。我试过以下方法,但没有成功 <a asp-page="/MyPage" asp-route
页面
public async Task OnGetAsync([FromQuery(Name = "status")] string[] myValues)
{
}
我试图从锚定标记帮助程序
传入一个值数组,但在myValues
中接收到的只是一个项目。如果我手动键入查询字符串以镜像MyRoute?myValues=A&myValues=B
,它将按预期工作。我试过以下方法,但没有成功
<a asp-page="/MyPage" asp-route-status="A" asp-route-status="B">Click</a>
<a asp-page="/MyPage" asp-route-status="new [] { A, B }">Click</a>
<a asp-page="/MyPage" asp-route-status="@(new [] { A, B })">Click</a>
@{ var list = new string[] { "A", "B" };}
<a asp-page="/MyPage" asp-route-status="@list">Click</a>
点击
点击
点击
@{var list=新字符串[]{“A”,“B”};}
点击
这似乎是不可能的-传递到asp路由状态的值应为字符串或值,然后将其转换为字符串。您可以在中看到这一点,其中RouteValues
属性是
的字典
让我们看一下您的第一个示例,如下所示:
我发现Github问题的最新评论(2017-11-24)询问如何使用标签助手实现这一点,但截至今天(2018-08-10),该问题尚未得到回答。您的问题完全不清楚。您没有传递任何内容,因为您的操作正在查找名为v
的内容,但您发送的所有内容都是状态
(还有两次,这毫无意义)。你试过什么?什么不起作用?请特别注意。@ChrisPratt在粘贴代码时输入错误。修正了。@ChrisPratt除了打字错误,我不知道需要什么进一步的解释。我想将A
和B
作为状态参数的数组传入。是否尝试在单个参数中同时发送A
和B
?在包含A
和B
的数组中?如果是这样的话,您只需执行asp route status=“new[]{A,B}”
@ChrisPratt即可。我想将A
和B
作为状态的值发送。不幸的是,你的建议不起作用。如果我按照你的建议去做,在myValues
中会有一个项目,这个值就是new[]{A,B}
。