Как получить данные для ввода значения в начальной загрузке C # - PullRequest
0 голосов
/ 08 февраля 2019

Привет, я работаю с jquery DataTables, и я хочу отредактировать записи в datatable, так что вот мой код данных, где я получаю идентификатор сотрудника

"columns": [
                { "data": "Department", "name": "Department", "autoWidth": true },
                { "data": "Name", "name": "Name", "autoWidth": true },
                { "data": "CardNumber", "name": "Card Number", "autoWidth": true },
                {
                    "data": "Id",
                    "render": function (data , type , full , meta)
                    {
                        return '<a href="#" onclick="EditEmployee(' + full.Id + ')"<i class="fa fa-edit fa-2x" ></i></a> &nbsp &nbsp &nbsp &nbsp <a href="#" onclick="DeleteEmployee(' + full.Id + ')"<i class="fa fa-trash fa-2x" style="color:red;"></i></a>'
                    }
                },

            ],

Я получаю идентификатор full.idи я передаю его этой функции

<script>

var EditEmployee = function (Id) {

    $("#myModal1").modal("show");

};

Но я не знаю, как передать значения в это модальное представление

@foreach (var item in Model.EmployeeCollection)
            {
            <div class="modal fade" id="myModal1">
                <div class="modal-dialog">
                    <div class="modal-content">
                        <div class="modal-header">
                            <a href="#" class="close" data-dismiss="">&times;</a>
                            <h3 class="modal-title">Edit Employee</h3>
                        </div>
                        <div class="modal-body" id="myModalBodyDiv1">
                            @while (item.Id == ?????)
                            {
                            <label>Employee Id</label>
                            <input id="txtId" type="text" class="form-control" value="@item.Id" disabled/>

                            <label>Name</label>
                            <input id="txtName" type="text" class="form-control" value="@item.Name" />

                            <label>Department</label>
                            <input id="txtDepartment" type="text" class="form-control" value="@item.Department" />

                            <label>Card Number</label>
                            <input id="txtCardNum" type="text" class="form-control" value="@item.CardNumber" />

                            <div class="modal-footer">
                                <button type="button" class="btn btn-white" data-dismiss="modal">Close</button>
                                <button type="button" class="btn btn-white" onclick="saveUser();">Save</button>
                            </div>
                            }
                        </div>
                    </div>
                </div>
            </div>
            }

Я пробовал это, ноэто не сработало, я не знаю, как передать этот идентификатор из функции js в представление.

1 Ответ

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

, если вы можете сначала использовать данные из сетки (пример):

render: function (data, type, row) {<a data-info="' + row.IdUser + '" data-toggle="modal" data-target="#modalGridTable" ...

, теперь вы можете открыть модальное окно с bootstrapjs или частичным представлением:

bootstrap (читать документ)

в строке. Идентификатор пользователя У меня есть свой идентификатор.теперь, когда я нажимаю $ ('# modalGridTable'). on ('show.bs.modal', function (event) ...

    var button = $(event.relatedTarget);
    var id = button.data('info');
    var data = Grid.ajax.json().data;
    function getDataJson(IdUsuario) {
        return data.filter(
            function (data) {
                return data.IdUser === IdUser;
            }
        );
    }

    var result = getDataJson(id);

, чтобы вы могли использовать это так:

result[0].Phone

частичное представление

отправьте JSON на контроллер следующим образом:

i.href ='@Url.Action("Edit")'; 
$('#modal > .modal-dialog > div').load(i.href, { data: jsondata }, function () {
                    $('#modal').modal({
                        backdrop: 'static',
                        keyboard: false
                    }, 'show');
                    bind(this);
                });
            function bind(dialog) {
                $('form', dialog).submit(function () {
                    if ($(this).valid()) {
                        $.ajax({
                            url: this.action,
                            type: this.method,
                            data: $(this).serialize(),
                            success: function (result) {

                            },
                            error: function () {

                            }
                        });
                    }
                    return false;
                });
            }

, и вы можете позвонить с моделью.

...