Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何通过定位标记帮助器传递值数组?_C#_Asp.net Core_.net Core_Asp.net Core 2.0_Asp.net Core Tag Helpers - Fatal编程技术网

C# 如何通过定位标记帮助器传递值数组?

C# 如何通过定位标记帮助器传递值数组?,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

我正在使用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-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}