Подскажите, как можно передать дополнительную model во Modal view
имеет 2 таблицы, образно, на страницу Create передается @model base.Accounts
вызывается
public async Task<IActionResult> Create()
{
await ConfigureSelectedList();
return View();
}
в котором реализовано заполнение полей (Login, pass, и т.д.) и имеется выпадающий список пользователей SelectList.EmployeeId
на странице имеется кнопка, которая вызывает появление Модального окна для быстрого добавления пользователя в таблицу Employee (ФИО + ДР, отдел и т.д.)
как передать модель @model base.Employee в ModalView, чтобы при нажатии кнопки "Добавить" в ModalView шло обращение к контроллеру
на примере функции
function btnSaveAddEmployee() {
$.post('/Accounts/_AddEmployee', **как то отправить модель из ModalView**);
}
в контроллере
[HttpPost]
public async Task<IActionResult> _AddEmployee(Employee employee)
{
var result = new Employee
{
FirstName = employee.FirstName
};
await _db.Employees.AddAsync(result);
await _db.SaveChangesAsync();
return Ok(result);
}
Создайте js-объект, который будет совпадать (название полей) с моделью, например:
var parameters = {
CoefficientA: $('#coefficient-a').val(),
CoefficientB: $('#coefficient-b').val(),
CoefficientC: $('#coefficient-c').val(),
Step: $('#step').val(),
RangeFrom: $('#range-from').val(),
RangeTo: $('#range-to').val()
};
Затем отправьте Ajax запрос с этим объектом:
$.ajax({
url: '/Computing/CalculationData',
type: 'POST',
data: parameters,
success: drawingGraph,
beforeSend: function () {
$('#loader').show();
},
complete: function () {
$('#loader').hide();
}
});
Если надо перейти куда-то или обновить страницу, то после успешной отправки запроса используйте window.location.href.
UPDATE:
<button onclick="AddEmployee()">Добавить</button>
function AddEmployee() {
var employee = {
// Собираем инфу с полей в html
FirstName: $('#fname').val(),
LastName: $('#lname').val()
};
$.ajax({
url: '/Accounts/_AddEmployee',
type: 'POST',
data: employee
});
}
Сборка персонального компьютера от Artline: умный выбор для современных пользователей