我在 MVC 中使用 Ajax 表单时遇到问题。不知从哪里我得到以下错误:
POST http://localhost:50778/Evaluation/Setup/[object%20NodeList] 404(未找到)
它似乎没有添加操作或调用任何简单的验证。在其他页面上,它似乎有效。我已经剥离了下面的基础知识,但它仍然不起作用。有任何想法吗?
编辑:作为一种解决方法,我使用 jquery 提交表单,但我真的不认为我需要这样做。
<div id="form-message"></div>
@{Ajax.BeginForm("UpdateEvaluation", "Setup", new AjaxOptions { UpdateTargetId = "form-message", InsertionMode = InsertionMode.Replace}, new { @id = "evaluation-setup" });}
@Html.HiddenFor(model => model.fk_baa)
@Html.HiddenFor(model => model.lock_setup)
<div class="form-actions">
<p><b>Note</b>: There is no spell check on this site. You may wish to create text in Word or another word processor and then copy-and-paste into the system. </p>
<button name="action" type="submit" value="save" class="btn btn-primary">Save</button>
<button id="apply-lock" name="action" type="submit" class="btn btn-success exempt" value="lock"><span class="ico fa"></span> Lock Setup</button>
</div>
@{Html.EndForm();}
这是我的行动
[HttpPost]
public ActionResult UpdateEvaluation(SetupEvaluationModel model, string action)
{
var valid = ModelState.IsValid;
if (action.ToUpper().Equals("LOCK"))
{
return View("_Validation", model.Save(true));
}
else
{
return View("_Validation", model.Save());
}
}