0

私は MVC を初めて使用しますが、この問題が私を壁に押し上げています。ユーザーがタブを押すか、フォームのテキストボックスにキーを入力すると、jquery ajax 投稿をトリガーする JavaScript があります。

<script type="text/javascript">
    $(document).ready(function () {
        $('#RmaNumber, #SerialNumber').keydown(function (event) {
            if (event.keyCode == 13 || event.keyCode == 9) {
                var ri = {
                    RmaNumber: $('#RmaNumber').val(),
                    SerialNumber: $('#SerialNumber').val(),
                    ControlName: event.target.id
                }


                $.ajax({
                    type: "POST",
                    url: "/Invoice/BarcodeScan",
                    contentType: "application/json; charset=utf-8",
                    data: JSON.stringify(ri),
                    dataType: "json",
                    success: function (data) {
                        $('#TerminalType').text(data.TerminalType);
                    }

                });
            }
        });
    });
</script>

これが私のコントローラーの外観です。シンプルにするためにコードを削除しました。

  public ActionResult Index()
        {

        }

  [AcceptVerbs(HttpVerbs.Post)]
        public ActionResult Index(RepairInvoice ri)
        {

        }

 [HttpPost]
        public ActionResult BarcodeScan(string RmaNumber, string SerialNumber, string ControlName)

        {
        }

ajax ポストバックにより、BarcodeScan と Index アクションの両方が起動します。[AcceptVerbs(HttpVerbs.Post)]フォームでボタンが押された場合にのみ、上記の Index アクションが 起動するようにします。これは可能ですか、それとも間違った方向に進んでいますか?

4

1 に答える 1