如何使用Razor将数组传递给HttpGet?

时间:2017-07-12 15:00:43

标签: c# asp.net asp.net-mvc razor asp.net-core

好的,我试图为搜索结果列表(非常像亚马逊)制作前端过滤器,用户可以选择过滤器类别和多个过滤器选项。

例如,我有一份员工的结果列表。您可以过滤的其中一项是姓氏的第一个字母。因此,当您转到过滤器时,系统会显示一个复选框列表和相应的字母:A [] B [] C [] ... Z []。

用户可以选择A-Z的任意组合,当他们点击提交时,我希望路线看起来像www.sitename.com?lastname=A&lastname=C&lastName=F等使用GET表格。

在Razor中是否有办法将List /数组变量绑定到所有选中的复选框,以便它可以在提交时发布?

1 个答案:

答案 0 :(得分:1)

您可以这样做:

@using (Html.BeginForm("Index"))
{
    <label><input name="lastname" type="checkbox" value="A" />A</label>
    <label><input name="lastname" type="checkbox" value="C" />C</label>
    <label><input name="lastname" type="checkbox" value="F" />F</label>
    <button type="button" onclick="var form=$(this).closest('form');form.attr('action', '@Url.Action("Index")?' + form.serialize());form.submit();">Submit</button>
}