0

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

id=(refine_1=cgid=womens&refine_2=c_refinementColor=Black&refine_3=price=(0..500))

是否可以从查询字符串中接受上述示例的值?如果是,请告诉我如何实现这一点?

4

1 回答 1

1

您应该对其进行 URL 编码:

?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字符串参数的那些属性的视图模型。

于 2013-10-29T11:41:53.660 回答