我正在开发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>
当我发布表单时,模型中的Remember值始终为false。但是,模型中的名称属性具有值。我已经通过在下面设置断点测试了这个:
[HttpPost]
public ActionResult MyAction(MyModel model)
{
Console.WriteLine(model.Remember.ToString());
}
我弄不明白。为什么复选框值没有设置?
是否得到贴有正确的价值?你能检查使用提琴手吗?此外,我不知道是否/如何复选框的价值转化为布尔。 – shahkalpesh
这会在窗体上显示为“开”或“关”。这显然没有正确的约束。我做了一个愚蠢的枚举来避免这种情况。 – Yablargo
@Yablargo,你不需要枚举。只需将value =“true”添加到输入标签即可。并使用如下所示的value =“false”的隐藏。 –