Модальный диалог без перенаправления - PullRequest
0 голосов
/ 08 января 2019

Я использую C # MVC версии 5. У меня есть форма в модальном диалоге, который использует частичное представление. Я хочу отправить форму, а не перенаправить. Я просто хочу закрыть диалог. Можно ли это сделать?

Вот мой код:

<div class="modal-dialog modal-lg">
    <div class="modal-content">
        <div class="modal-header bg-success">
            <button type="button" class="close" data-dismiss="modal">&times;</button>
            <h5 class="modal-title">@title</h5>
        </div>
        @using (Html.BeginForm("Edit", "Region", FormMethod.Post, new { onsubmit = "return validateForm();", @class = "form-horizontal" }))
        {
            <div class="modal-footer">
                <button type="button" class="btn btn-link" data-dismiss="modal">Close</button>
                <button type="submit" class="btn btn-success">Submit form</button>
            </div>
        }        
    </div>
</div>
public ActionResult Edit(int id)
{
    RegionViewModels regionViewModels = MakeRegionViewModels(id);
    return PartialView("_InsertTaxRegion", regionViewModels);
}

Ответы [ 2 ]

0 голосов
/ 06 февраля 2019

Вы можете сделать это с помощью модального Bootstrap без кода jQuery.

На странице, где я хочу отобразить модал. Ваша модальная форма (PartialView) будет отображаться поверх вида, в котором вы уже находитесь.

<button id="btn" type="button" class="btn btn-info btn-lg" data-toggle="modal" data-       target="#myModal">Open Modal</button>
 <!-- Modal -->
<div id="myModal" class="modal fade" role="dialog" data-toggle="modal">
    <div class="modal-dialog">
    <!-- Modal content-->
    <div class="modal-content">
        <div class="modal-header">
            <button type="button" class="close" data-dismiss="modal">&times;</button>
            <h4 class="modal-title">Modal Header</h4>
        </div>
        <div class="modal-body">
            @Html.Partial("Modal");
        </div>
        <div class="modal-footer">
            <button type="button" class="btn btn-default" 
              data-dismiss="modal">Close</button>
        </div>
    </div>
</div>

Ваш модальный режим отображается в PartialView ...

@model NCR.Models.Employee
@{
    ViewBag.Title = "Edit";
}
<h2>Edit</h2>
@using (Html.BeginForm())
{
    @Html.AntiForgeryToken()
   <div class="form-horizontal">
   <div class="form-group">
       @Html.LabelFor(model => model.FIRST_NAME, htmlAttributes: 
       new { @class = "control-label col-md-2" })
       <div class="col-md-10">
        @Html.EditorFor(model => model.FIRST_NAME, 
        new { htmlAttributes = new { @class = "form-control" } })
        @Html.ValidationMessageFor(model => model.FIRST_NAME, "", 
        new { @class = "text-danger" })
    </div>
</div>
<div class="form-group">
    @Html.LabelFor(model => model.LAST_NAME, htmlAttributes: new { @class = "control-label col-md-2" })
    <div class="col-md-10">
        @Html.EditorFor(model => model.LAST_NAME, new { htmlAttributes = new { @class = "form-control" } })
        @Html.ValidationMessageFor(model => model.LAST_NAME, "", new { @class = "text-danger" })
    </div>
</div>
<div class="form-group">
    <div class="col-md-offset-2 col-md-10">
        <input type="submit" value="Update" class="btn btn-default" />
    </div>
</div>

}

0 голосов
/ 08 января 2019

С помощью jQuery вы можете просто сериализовать данные формы и отправить их на сервер в фоновом режиме, и вы можете закрыть свой модал, вот пример: Как использовать метод jquery $ .post () для отправки значений формы

Если вы используете <input type="submit" /> вместо <button type="button">Submit</button>, вам нужно будет запретить отправку вашей формы следующим образом: Использование JQuery - предотвращение отправки формы

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