3

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">&lt;/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());
        }
    }
4

1 に答える 1