【发布时间】:2014-10-04 00:09:54
【问题描述】:
我正在使用 ASP.NET MVC,但在使用 CheckBoxFor 时遇到了一些问题。这是我的问题:
我在视图中有以下代码:
@Html.CheckBoxFor(model => model.stade, new { @id = "stade" })
model.stade 是布尔类型。在我的控制器中,我有:
//Editar
[HttpPost]
public ActionResult InvoiceType(int Id, string Name, string Code, string Stade)
{
clsInvoiceTypea Model = new clsInvoiceType();
Model.Id = Id;
Model.Name = Name;
Model.Code = Code;
Model.Stade = stade== "1" ? true : false;
return PartialView(Model);
}
我收到一个错误,因为当Model.Stade 提交到视图时,值是 1 或 0,我收到一个错误说“无法将字符串识别为有效的布尔值”,但如果 Model.stade 是布尔值为什么模型会像 0 或 1 一样提交给视图?我该如何解决这个问题?
【问题讨论】:
-
与其尝试绑定单个属性,不如绑定模型
public ActionResult InvoiceType(clsInvoiceTypea model)。 -
这段代码无法编译(提示:
Stade!=stade) -
对不起,那是因为我把代码翻译成英文,我说西班牙语
-
斯蒂芬,问题是因为模型有一个布尔值 Model.Stade 并且操作 public ActionResult InvoiceType() 为 Model.Stade 得到 1 或 0,这个值是布尔值然后得到一个错误
标签: asp.net-mvc boolean model-binding checkboxfor