【发布时间】:2016-07-25 21:30:27
【问题描述】:
我有以下ViewModel
public class ReportFilters
{
[Required]
public DateTime From { get; set; }
[Required]
public DateTime To { get; set; }
[Required]
public int UserId { get; set; }
public bool IsCorrect { get; set; }
}
当我将此路由调用到IsCorrect 时,我传递了值1 或0,但ModelState.IsValid 始终返回false。
这在我添加public bool IsCorrect { get; set; }后开始发生
这是我的控制器操作的样子
[HttpPost]
[ValidateAntiForgeryToken]
public JsonResult GetTotals([Bind(Include = "From,To,UserId,IsCorrect ")] ReportFilters reportFilters)
{
if (ModelState.IsValid)
{
SomeModel results;
if(reportFilters.IsCorrect)
{
results = conn.Database.SqlQuery<SomeModel>(SomeQuery, from, to).ToList();
} else
{
results = conn.Database.SqlQuery<SomeModel>(SomeOtherQuery, from, to).ToList();
}
return Json(results, JsonRequestBehavior.AllowGet);
}
return Json(new { }, JsonRequestBehavior.AllowGet);
}
问题
如何正确验证复选框的值?如果值为1,则应为true,否则为false。
【问题讨论】:
-
你能把
[Bind(Include = "From,To,UserId,IsCorrect ")]拿出来再试一次吗?
标签: c# asp.net asp.net-mvc validation asp.net-mvc-5