откройте всплывающее окно в mvc asp.net после отправки формы - PullRequest
0 голосов
/ 25 июня 2018

Я не могу открыть модальное окно после отправки. Что у меня так далеко, это: это мой View Permitions.cshtml, который вызывает это отправка в действие SalvarPermissoes В контроллере Admin

@using (Html.BeginForm("SalvarPermissoes", "Admin", FormMethod.Post, new { @class = "form-horizontal", role = "form" }))
    {
        <header>
            <h2 id="titulo" name="titulo">@ViewBag.Title  | @ViewBag.UserPrincipal.Name | @ViewBag.UserPrincipal.EmployeeId </h2>
        </header>
        <input name="permissoes_modulos" hidden value="@ViewBag.UserPrincipal.EmployeeId" />
        <table>
            @foreach (var mod in ViewBag.Modulos)
            {
                <tr>
                    <td><label name="permissoes_modulos" value="@mod.moduloId">@mod.moduloId</label></td>
                    <td><label>@mod.nomeModulo</label></td>
                    <td>
                        <div class="form-check">
                            <label class="switch">
                                @if (mod.acesso == 1)
                                {
                                    <input name="permissoes_modulos" type="checkbox" checked data-toggle="toggle" id="@mod.moduloId" value="@mod.moduloId"/>
                                }
                                else
                                {
                                    <input name="permissoes_modulos" type="checkbox" data-toggle="toggle" id="@mod.moduloId" value="@mod.moduloId"/>
                                }
                                <span class="slider round"></span>
                            </label>
                        </div>
                    </td>
                </tr>
            }
        </table>
        <div class="col-md-offset-2 col-md-10">
            <input type="submit" class="btn btn-default" value="salvar" />
        </div>
    }

тогда у моего Admin Controller есть действие SalvarPermissoes

public ActionResult SalvarPermissoes(int[] permissoes_modulos)
{
    int employeeID = permissoes_modulos[0];

    UserManagement userManagement = new UserManagement();
    userManagement.EmployeeID = employeeID;
    userManagement.DeleteUserManagement();

    for(int i = 1; i < permissoes_modulos.Length; i++)
    {
        userManagement.ModuleID = permissoes_modulos[i];
        userManagement.InsertUserManagement();
    }

    return View(); //this target view is suppose to be a modal window
}

и этот контроллер называется view SalvarPermissoes.cshtml, который я хочу использовать в качестве модального окна с использованием преимущественно начальной загрузки.

Заранее спасибо

1 Ответ

0 голосов
/ 25 июня 2018

Вы можете использовать viewBag для отправки сообщения с контроллера для просмотра.Поскольку ViewBag.Msg проверяется на нулевое значение, всплывающее сообщение будет появляться только после инициализации действия insde SalvarPermissoes.

public ActionResult SalvarPermissoes(int[] permissoes_modulos)
{
 int employeeID = permissoes_modulos[0];

UserManagement userManagement = new UserManagement();
userManagement.EmployeeID = employeeID;
userManagement.DeleteUserManagement();

for(int i = 1; i < permissoes_modulos.Length; i++)
{
    userManagement.ModuleID = permissoes_modulos[i];
    userManagement.InsertUserManagement();
}
ViewBag.Msg = "Thankyou for submitting form";
return View(); //this target view is suppose to be a modal window
}

View

поместите это в верхнюю часть представления

@if (ViewBag.Msg != null)
{

    <!-- Modal -->
<div class="modal fade" id="myModal" role="dialog">
    <div class="modal-dialog modal-sm">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal">&times;</button>
                <h4 class="modal-title">Post Status</h4>
            </div>
            <div class="modal-body">
                <p >@ViewBag.Msg.</p>
            </div>
            <div class="modal-footer">
                <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
            </div>
        </div>
    </div>
</div>

<button type="button" class="btn btn-info btn-lg" id="bootstrapmodel" data-toggle="modal" data-target="#myModal" style="display:none">Open Small Modal</button>
<!-- jQuery library -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<!-- Latest compiled JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>

    <script>

    $('#myModal').modal('show');
    </script>
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...