私のコードの一部を紹介します。私のかみそりのビューでは、HTMLForm があり、それを Ajax で使用したいと考えています。
次の送信コードを見てください。
var editQuestionFormSubmit = function () {
    $.ajax({
        url: this.action,
        type: this.method,
        data: $(this).serialize(),
        success: function (result) {
            $('#target2').html(result);
            //$("#editQuestionForm").submit(editQuestionFormSubmit);
        }
    });
    return false;
};
var editQuestion = function () {
    $.ajax({
        url: this.href,
        type: "get",
        success: function (result) {
            $("#target2").html = result;
            $("#editQuestionForm").submit(editQuestionFormSubmit);
        }
    });
    return false;
};
このeditQuestion関数は、ユーザーがハイパーリンクをクリックしたときに初めて実行されます。結果にはフォームが含まれているため、送信イベントを設定しました。
ここで、ユーザーが投稿を行ったときに、それが検証されていないと想像してみましょう。同じフォームを現在のモデルでもう一度表示します。
    public ActionResult EditQuestion(QuestionTemplate qt)
    {
        if (ModelState.IsValid)
        {
           ....
           return ...
        }
        return PartialView("_EditQuestion", qt);
    }
したがって、最後のコードは同じフォームを返しますが、検証するエラーを表示し、再度送信イベント ハンドラーを登録する必要があります。私は良いアプローチをしていますか、それとも各コールバックに各イベントハンドラーを登録しないためのより良い方法がありますか?