在ASP.NET MVC 4中获取复选框值
我正在开发ASP.NET MVC 4应用程序。这个程序有一个基本形式。我的表单的模型如下所示:
public class MyModel{
public string Name { get; set; }
public bool Remember { get; set; }
}
在我的表单中,我具有以下HTML。
<input id="Name" name="Name" type="text" value="@Model.Name" /><input id="Remember" name="Remember" type="checkbox" value="@Model.Remember" />
<label for="Remember"> Remember Me?</label>
发布表单时,模型中的“记住”值始终为false。但是,模型中的Name属性具有一个值。我已经通过在以下位置设置断点进行了测试:
[HttpPost]public ActionResult MyAction(MyModel model)
{
Console.WriteLine(model.Remember.ToString());
}
我不知道。为什么未设置Checkbox值?
回答:
@Html.EditorFor(x => x.Remember)
将产生:
<input id="Remember" type="checkbox" value="true" name="Remember" /><input type="hidden" value="false" name="Remember" />
它是如何工作的:
- 如果
checkbox
未选中,则表单仅提交hidden
值(假) - 如果选中,则表单
true
将为模型的bool
属性提交两个字段(false和true)和MVC集
<input id="Remember" name="Remember" type="checkbox" value="@Model.Remember"
/>
如果选中,它将始终发送默认值。
以上是 在ASP.NET MVC 4中获取复选框值 的全部内容, 来源链接: utcz.com/qa/427481.html