У меня есть следующий ViewModel
Как проверить значение флажка в ASP.NET MVC?
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; }
}
я прохожу либо значение 1
или 0
, когда я называю этот маршрут IsCorrect
но ModelState.IsValid
всегда возвращается ложь.
Это начало происходить после того, как я добавил 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 ")]' и повторите попытку? – Win