如何使用查询字符串在单个变量中传递多个键/值对?

时间:2013-10-29 11:38:14

标签: asp.net asp.net-web-api

我有一个要求,比如在单个变量中在查询字符串中传递多个值。

  

编号=(refine_1 = cgid进行=妇女&安培; refine_2 = c_refinementColor =黑与refine_3 =价格=(0..500))

是否可以接受来自查询字符串的上述样本的值?如果是,请告诉我如何实现这一目标?

1 个答案:

答案 0 :(得分:1)

您应该对其进行网址编码:

?id=(refine_1%3Dcgid%3Dwomens%26refine_2%3Dc_refinementColor%3DBlack%26refine_3%3Dprice%3D(0..500))

现在假设您的控制器操作采用id参数:

public ActionResult SomeAction(string id)
{
    ...
}

操作中此参数的值为(refine_1=cgid=womens&refine_2=c_refinementColor=Black&refine_3=price=(0..500))

您可以更进一步,并编写一个自定义模型绑定器,它将解析此值并将其绑定到包含控制器操作可以作为参数而不是id字符串参数的那些属性的视图模型