使用RadioButtonFor在ViewModel中设置bool?

时间:2014-05-27 02:46:50

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

我有一个相当复杂的形式,但我遇到的问题是它的一个非常基本的部分。我有一个带有两个单选按钮的单选按钮组,用于表示视图模型中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 ,无论选择了哪个单选按钮。

我在这里搞砸了什么吗?

1 个答案:

答案 0 :(得分:1)

事实证明,ASP.NET MVC不包含禁用字段'提交表单时的值。该字段被表单中的一个复选框禁用。讨厌!

编辑: 看完@ JohnSaunders'下面的评论我快速搜索了我应该如何拥有一个不可编辑的字段,但仍然提交了信息。事实证明你应该使用readonly属性。我今天学到了一些东西!

即。 <input type="text" readonly />