将字符串数组传递给控制器

时间:2015-08-06 13:06:57

标签: c# http

我想将字符串数组传递给我的控制器。 我从另一个c#代码传递数据。

这是我的要求:

String[] varList = new List<String> { "A", "B" }.ToArray();
using (var client = new HttpClient())
{
    await client.GetAsync(GetHttpSchema() + HttpContext.Current.Request.Url.Host + "/AController/B?varA=" + varA + "&varB=" + varB + "&varList=" + varList);
}

这是我的控制器:

public partial class AController : BaseController
{
    public async Task B(string A, string B, String[] varList) { }
}

现在在调试中我得到varList的以下值(只有一个值):System.String [] ..... 有什么建议吗?

1 个答案:

答案 0 :(得分:1)

首先你可以像这样创建一个数组

string[] varList = new [] {"A", "B"}

其次,您希望获取数组的值,但数组的ToString方法是默认值,它只是为您提供类型的名称。相反,您可以使用string.Join

string listOfValues = string.Join(",", varList);

这将为您提供逗号分隔的值列表。或者您可能需要执行以下操作以获得&#34;&amp; varList = A $ varList = B&#34;基于this

string listOfValues = "$varList=" + string.Join("&varList=", varList);

就我个人而言,我不知道您在http请求中需要这些值的格式,因此我会将该部分留给您。