我有一个相当复杂的形式,但我遇到的问题是它的一个非常基本的部分。我有一个带有两个单选按钮的单选按钮组,用于表示视图模型中true
的{{1}}或false
值。所以我有一个这样的模型:
bool
然后在我的视图中,我有以下代码来生成单选按钮:
public class MyViewModel {
public bool IsPOBox { get; set; }
}
问题是,当我选择“邮政信箱”时,@Html.RadioButtonFor(m => m.IsPOBox, true, new { id = "togglePOBoxOn" }) @Html.Label("togglePOBoxOn", "PO Box")
@Html.RadioButtonFor(m => m.IsPOBox, false, new { id = "togglePOBoxOff" }) @Html.Label("togglePOBoxOff", "Street Address")
属性设置为IsPOBox
而不是false
。事实上,该属性设置为false ,无论选择了哪个单选按钮。
我在这里搞砸了什么吗?
答案 0 :(得分:1)
事实证明,ASP.NET MVC不包含禁用字段'提交表单时的值。该字段被表单中的一个复选框禁用。讨厌!
编辑:
看完@ JohnSaunders'下面的评论我快速搜索了我应该如何拥有一个不可编辑的字段,但仍然提交了信息。事实证明你应该使用readonly
属性。我今天学到了一些东西!
即。
<input type="text" readonly />