为什么我的查询字符串参数在我的ASP.NET MVC 4应用程序的帖子主体中加倍?

时间:2013-05-08 18:33:26

标签: asp.net-mvc http asp.net-mvc-4 http-post

以下是我

的相关内容

视图模型:

    [Display(Name = "One Per Line")]
    public bool OnePerLine { get; set; }

    [Display(Name = "Comma Separated")]
    public bool CommaSeparated { get; set; }

    [Display(Name="Upper Case")]
    public bool UpperCase { get; set; }

查看:

                    @using (Html.BeginForm("Index", "Home", FormMethod.Post, new { @class = "form-horizontal" }))
                {
                    .

                    .
                    <div class="control-group">
                        @Html.LabelFor(m => m.OnePerLine, "One Per Line?", new Dictionary<string, object> { { "class", "control-label" } })
                        <div class="controls">
                            @Html.CheckBoxFor(m => m.OnePerLine)
                        </div>
                    </div>
                    <div class="control-group">
                        @Html.LabelFor(m => m.CommaSeparated, "Comma separate them?", new Dictionary<string, object> { { "class", "control-label" } })
                        <div class="controls">
                            @Html.CheckBoxFor(m => m.CommaSeparated)
                        </div>
                    </div>
                    <div class="control-group">
                        @Html.LabelFor(m => m.UpperCase, "Uppercase?", new Dictionary<string, object> { { "class", "control-label" } })
                        <div class="controls">
                            @Html.CheckBoxFor(m => m.UpperCase)
                        </div>
                    </div>
                    .
                    .
                }

这就是我在帖子中看到的提琴手:

OnePerLine=true&OnePerLine=false&CommaSeparated=true&CommaSeparated=false&UpperCase=true&UpperCase=false

当它到达我的控制器时,viewmodel从视图中获得了正确的值,我发现在帖子体中加倍奇数。

1 个答案:

答案 0 :(得分:0)

挖掘更多并找到答案here.

原来Html.Checkbox帮助器呈现一个额外的隐藏输入,以解决请求中未发送未选中复选框的情况。