【问题标题】:MVC Checkbox not checked when value is true值为 true 时未选中 MVC 复选框
【发布时间】:2015-06-06 09:56:24
【问题描述】:

我有一个包含复选框的记录网格。复选框指示事务是否已被确认。出于测试目的,我在复选框旁边添加了一个显示文本,该文本指示布尔值为真。但是,该复选框未选中。

@for (int i = 0; i < Model.TransactionList.Count; i++)
        {
            <tr>
                <td class="hidden"> @Html.HiddenFor(m => m.TransactionList[i].ProviderTransactionId)</td>
                <td class="text-center">
                    @Html.DisplayTextFor(m => m.TransactionList[i].Acknowledged)
                    @Html.CheckBoxFor(m => m.TransactionList[i].Acknowledged)
                    @Html.HiddenFor(m=>m.TransactionList[i].Acknowledged)
                </td>
                <td>
                    @Html.DisplayFor(m => m.TransactionList[i].FromUicTxt)
                    @Html.HiddenFor(m => m.TransactionList[i].FromUicTxt)
                </td>
                <td>
                    @Html.DisplayFor(m => m.TransactionList[i].ToUicTxt)
                    @Html.HiddenFor(m => m.TransactionList[i].ToUicTxt)
                </td>
                <td>
                    @Html.DisplayFor(m => m.TransactionList[i].PrimaryUicTxt)
                    @Html.HiddenFor(m => m.TransactionList[i].PrimaryUicTxt)
                </td>
                <td>
                    @Html.DisplayFor(m => m.TransactionList[i].Action)
                    @Html.HiddenFor(m => m.TransactionList[i].Action)
                </td>
                <td>
                    @Html.DisplayFor(m => m.TransactionList[i].InitiatedDateString)
                    @Html.HiddenFor(m => m.TransactionList[i].InitiatedDateString)
                </td>
                <td>
                    @Html.DisplayFor(m => m.TransactionList[i].ProviderFirst) @Html.DisplayFor(m => m.TransactionList[i].ProviderLast)
                    @Html.HiddenFor(m => m.TransactionList[i].ProviderFirst) @Html.HiddenFor(m => m.TransactionList[i].ProviderLast)
                </td>
                <td>
                    @Html.DisplayFor(m => m.TransactionList[i].SSN)
                    @Html.HiddenFor(m => m.TransactionList[i].SSN)
                </td>
                <td>
                    @Html.DisplayFor(m => m.TransactionList[i].SendersFirst) @Html.DisplayFor(m => m.TransactionList[i].SendersLast)
                    @Html.HiddenFor(m => m.TransactionList[i].SendersFirst)@Html.HiddenFor(m => m.TransactionList[i].SendersLast)
                </td>
                <td>
                    @Html.DisplayFor(m => m.TransactionList[i].SendersPhone)
                    @Html.HiddenFor(m => m.TransactionList[i].SendersPhone)
                </td>
            </tr>

        }

谢谢!

【问题讨论】:

  • 尝试清除 ModelState。
  • 感谢漩涡!如果您想将其放在答案部分,我可以将其标记为答案。
  • 为什么你会在复选框后隐藏相同属性的输入? (它会被忽略)
  • 在我把它改成复选框之前就在那里

标签: asp.net-mvc model-view-controller checkbox checkboxlist


【解决方案1】:

尝试清除 ModelState。 ModelState.Clear()。这样,CheckBox 助手将从您的模型中获取值,而不是从可能与您的属性名称冲突的 ModelState 中获取值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-03-06
    • 2017-11-07
    • 1970-01-01
    • 2014-04-10
    • 2013-04-03
    • 2016-06-01
    • 2013-05-21
    • 1970-01-01
    相关资源
    最近更新 更多