【发布时间】:2012-10-29 08:54:21
【问题描述】:
我正在接收来自视图的模型。
有些值会自动填写。
但是,一些必需的值需要手动添加,如下所示:
[HttpPost]
public ActionResult Foobar(FooModel model, FormCollection collection)
{
// "timePicker" is a dropdown list containing different times
var time = collection["timePicker"].Split(':');
model.Hours = int.Parse(time[0]);
model.Minutes = int.Parse(time[1]);
if (ModelState.IsValid)
{
... // Do stuff
}
}
那么问题来了:
ModelState.IsValid 为假。
我调试了它,它声称 model.Minutes 和 model.Hours 没有分配给。
...这不是真的,因为我刚刚为它们分配了值!
我考虑使用ModelState.Clear(),但我不想手动检查其余所有信息是否有效。
还有其他方法可以解决这个问题吗?
【问题讨论】:
标签: asp.net-mvc validation modelstate