带有方括号的ASP.NET GET参数

时间:2018-01-17 01:22:29

标签: asp.net string get

我不知道他们叫什么,这就是我无法找到解决方案的原因。 我有一个查询字符串看起来像一个数组

params[name]=john&params[age]=25&params[country]=ru

有没有办法将这些参数解析为string[]Dictionary<string, string>

UPD: 在php上,这种类型的查询字符串正在使用

自动解析

$params = $_GET['params']; $params['name']

但是我找不到C#上的等价物。

1 个答案:

答案 0 :(得分:1)

如果您正在使用ASP.NET MVC Framework,则将查询字符串值转换为类型化参数的默认参数绑定器可以通过以下方式自动处理:

一维数组

// GetData?filters[0]=v1&filters[1]=v2&filters[3]=v3
public ActionResult GetData(IEnumerable<string> filters) 
{
    // todo
}

二维数组

// GetData?filters[0][field]=name&filters[0][type]=1&filters[0][value]=val
public ActionResult GetData(IEnumerable<Dictionary<string,string>> filters) 
{
    // todo
}

......等等。

有关更多信息和示例,请查看我就此主题撰写的this blog post