Отправка формы один раз, но автоматически удваивается / дважды по методу POST?ASP.NET MVC - PullRequest
0 голосов
/ 05 декабря 2018

В настоящее время я работаю над проектом в asp.net (v4.6) mvc (v5), он правильно работал при первом развертывании на удаленном сервере, после первого пробного запуска выдает ошибки в формах при отправке на POST метод.Он автоматически публикует форму дважды, что не требуется.

Места, которые я проверял на наличие ошибок:

  1. исходный код (также отладка)
  2. искал и пробовал Журналы
  3. использовал инструменты, чтобы проверить, почему и откуда возникает эта проблема (безрезультатно)

Я исправил обнаруженную проблему с браузером, когда я перешел с Chromeдо края не было ошибок ... Но до сих пор нет заметок о том, что это за ошибка и как она генерируется.

Вот View.cshtml

@using (Html.BeginForm("Create", "AdmissionCell", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
    @Html.AntiForgeryToken()
    <div class="col-md-12">
        <hr />
        @Html.ValidationSummary(true, "", new { @class = "text-danger" })

        @*Input Fields Here*@

        <div class="form-group">
            <div class="col-md-offset-4 col-md-6">
                <input type="submit" value="Save Student Record" class="btn btn-primary btn-lg" />
            </div>
        </div>
    </div>
}

@section Scripts {
    @Scripts.Render("~/bundles/jqueryval")
    <script>
        $(document).ready(function () {
            $("#CNIC").change(function () {
                $.get("/AdmissionCell/CheckCNIC",
                    { cnic: $("#CNIC").val() },
                    function (data) {
                        if (data === 1) {
                            //alert("Sorry, CNIC already exists, Please enter unique CNIC. or ");
                            //location.reload();
                            var cnicStu = $("#CNIC").val();
                            if (window.confirm('Sorry, CNIC already exists, Please enter unique CNIC or Press "Ok" to goto student details.')) {
                                window.location.href = "/AdmissionCell/Details?cnic=" + cnicStu;
                            };
                        }
                    });
            });
        });
    </script>
    <script>
        $(function () {
            $('.cnic').on('keyup', function () {
                var input = $('.cnic').val();
                if (input.length == 5 || input.length == 13) {
                    $('.cnic').val(input + '-');
                }
            });

            $('.gcnic').on('keyup', function () {
                var input = $('.gcnic').val();
                if (input.length == 5 || input.length == 13) {
                    $('.gcnic').val(input + '-');
                }
            });
        });
    </script>
}

1 Ответ

0 голосов
/ 08 декабря 2018

Я подозреваю, что ваш пакет jqueryval включен дважды.

Один раз в представлении (как показано), а также в вашем файле _layout, поэтому события связываются дважды

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...