Передайте модель данных через пост ajax в MVC - PullRequest
0 голосов
/ 30 октября 2019

У меня частичное модальное представление:

<div class="container">
    <div class="row">
        <div class="modal-dialog">
            <div class="modal-content">
                <div class="modal-header">
                    <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
                    <h4 class="modal-title" id="myModal-label">Bootstrap Dialog</h4>
                </div>
                <div class="modal-body">
                    @Html.ValidationSummary(true, "", new { @class = "text-danger" })
                    <div class="form-group">
                        @Html.LabelFor(model => model.Name, htmlAttributes: new { @class = "control-label col-md-2" })
                        <div class="col-md-10">
                            @Html.EditorFor(model => model.Name, new { htmlAttributes = new { @class = "form-control" } })
                            @Html.ValidationMessageFor(model => model.Name, "", new { @class = "text-danger" })
                        </div>
                    </div>
                    <div class="form-group">
                        @Html.LabelFor(model => model.Email, htmlAttributes: new { @class = "control-label col-md-2" })
                        <div class="col-md-10">
                            @Html.EditorFor(model => model.Email, new { htmlAttributes = new { @class = "form-control" } })
                            @Html.ValidationMessageFor(model => model.Email, "", new { @class = "text-danger" })
                        </div>
                    </div>

                    <div class="form-group">
                        @Html.LabelFor(model => model.Mobile, htmlAttributes: new { @class = "control-label col-md-2" })
                        <div class="col-md-10">
                            @Html.EditorFor(model => model.Mobile, new { htmlAttributes = new { @class = "form-control" } })
                            @Html.ValidationMessageFor(model => model.Mobile, "", new { @class = "text-danger" })
                        </div>
                    </div>
                </div>
                <div class="modal-footer">
                    <button type="button" class="btn-primary btn" id="btnOK" onclick="">OK</button>
                    <button type="button" class="btn-default btn" data-dismiss="modal" id="btnCancel" onclick="">Cancel</button>
                </div>
            </div>
        </div>
    </div>
</div>
@section scripts{
    <script>
        $(document).ready(function () {
            $('#btnOK').click(function () {
                var data = {Name: "dsdsd", Email: "dsdsd@sdsd.com", Mobile: 05456545}
                //$.post(url, data)
                console.log(data);
            });
        })
    </script>
}

Но когда я нажимаю кнопку ОК, ничего не происходит, в моей консоли ничего не происходит. Я хочу иметь возможность передать моему контроллеру мои данные, а затем показать какое-либо сообщение об успешном завершении в виде другого всплывающего окна или чего-то подобного.

Итак, чтобы быть ясным, модально откройте OK с этим кодом на главной странице:

<button type="button" class="btn-block">Modal</button>
<div class="modal fade" id="myModal" role="dialog" data-url='@Url.Action("_ContactForm","Home")'></div>

@section scripts{
    <script type="text/javascript">
        $(document).ready(function () {
            $('.btn-block').click(function () {
                var url = $('#myModal').data('url');

                $.get(url, function (data) {
                    $('#myModal').html(data);
                    $('#myModal').modal('show');
                });
            });
        });
    </script>
}

но когда я нажимаю ОК на модале, ничего не происходит. Почему?

1 Ответ

0 голосов
/ 30 октября 2019

Вы можете попробовать добавить type="text/javascript" к тегу script внутри @ section-scripts. Может быть, ASP.net применяет спецификацию HTML 4, в которой «тип» является обязательным атрибутом тега сценария?

Я не знаю много о ASP.net и добавлю это в качестве комментария, но яне хватает репутации.

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