如何在不使用方法参数的情况下访问ASP.NET MVC中的CheckBox值

Gra*_*ton 1 asp.net-mvc

我使用以下HTML帮助程序生成复选框:

<%= Html.CheckBox("DeluxeFeature")%>
Run Code Online (Sandbox Code Playgroud)

现在我想在我的控制器中访问此复选框的值.我该怎么做?我不会使用方法参数名称,因为有很多复选框,并且将所有这些复选框放在参数中会使方法混乱.

我试着用

Request.Form["DeluxeFeature"]
Run Code Online (Sandbox Code Playgroud)

但这种行为很奇怪; 如果没有勾选复选框,则Request.Form["DeluxeFeature"]返回" false",这是预期的.但如果勾选了复选框,则会重新打开" true, false".

很奇怪,不是吗?

Luk*_*son 7

这个线程在asp.net论坛上解释的行为-甚至还有通过菲尔哈克从ASP.NET MVC项目团队(奖金!)评论.

因此,如果您没有使用levib发布的帮助器/模型绑定器,那么处理它的最佳方法似乎是

Request.Form.GetValues("DeluxeFeature")[0]
Run Code Online (Sandbox Code Playgroud)