即使我的插入操作中没有Ajax脚本,在将数据插入数据库后,我的复选框仍会检查。
但是在我的第一次添加尝试中未选中它,我想在再次添加另一个数据时取消选中它
我的模特:
public bool allowance { get; set; } = false;
我的观点:
@using (Html.BeginForm("PayrollSettingsAccount2/502", "Payroll", new { a = "3", b = "12", c = "44" }, FormMethod.Post, new { id = "form_payrollaccount" }))
{
@Html.CheckBoxFor(model => model.allowance, new { @id = "customCheck1", @class = "custom-control-input"})
}
答案 0 :(得分:0)
如果您已选中复选框allowance
并进行了表单发布,则由于ModelState,它将保持选中状态。我想让状态像表单发布前一样,请使用ModelState.Clear();
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Action(MyModel model)
{
if (!ModelState.IsValid)
{
return View(model);
}
//do stuff
//removes all the data from the modelstate
ModelState.Clear();
return View(model);
}
更多信息:https://patrickdesjardins.com/blog/modelstate-clear-is-required-to-display-back-your-model-object