在ViewModel中使用RadioButtonFor设置bool值
本文关键字:设置 bool RadioButtonFor ViewModel | 更新日期: 2023-09-27 18:05:22
我有一个相当复杂的形式,但我的问题是与它的一个非常基本的部分。我有一个单选按钮组,其中有两个单选按钮,用于表示视图模型中bool
的true
或false
值。我有一个这样的模型:
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
而不是true
。实际上,无论选择哪个单选按钮,该属性都被设置为false 。
. NET MVC在提交表单时不包含禁用字段的值。该字段被表单上方的复选框禁用。烦人的!
编辑:看到@JohnSaunders在下面的评论后,我快速搜索了一下我应该如何有一个不可编辑的字段,但仍然有提交的信息。结果是您应该使用readonly
属性。我今天学到了一些东西!
。<input type="text" readonly />