Инициализация модели при нажатии кнопки (MVC) - PullRequest
0 голосов
/ 06 мая 2018

Я хочу инициализировать модель, свойства которой зависят от того, какая кнопка нажата. Затем модель передается в частичное представление. Частичное представление показано как модальное. Вот что мне нужно сделать:

Вид:

@model IEnumerable<Students.Models.Student>
@{ 
    Students.Models.Student s;
}

@foreach (var student in Model)
{
<btn class="btn btn-success" id="modBtn">Edit student @Model.id</btn>
// s = student; -- assign model to button
}

@Html.Partial("/Views/Student/_PartialShow.cshtml", s)

Вот js, чтобы показать модальное частичное представление:

$(function () {
    // Vars
    var modBtn = $('#modBtn'),
        modal = $('#modal'),
        close = modal.find('.close'),
        modContent = modal.find('.modal-content');

    // open modal when click on open modal button 
    modBtn.on('click', function () {
        modal.css('display', 'block');
        modContent.removeClass('modal-animated-out').addClass('modal-animated-in');
    });

    // close modal when click on close button or somewhere out the modal content 
    $(document).on('click', function (e) {
        var target = $(e.target);
        if (target.is(modal) || target.is(close)) {
            modContent.removeClass('modal-animated-in').addClass('modal-animated-out').delay(300).queue(function (next) {
                modal.css('display', 'none');
                next();
            });
        }
    });
});

Я не уверен, правильно ли я поступлю. Идея состоит в том, чтобы открыть частичное представление с автоматически заполненными текстовыми полями в зависимости от того, какая кнопка нажата. И используйте идентификатор модели для вызова действия с параметром ID.

Этот подход работает для создания новых студентов, само частичное представление публикуется успешно, но сейчас мне просто нужен способ передать ему значения.

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