Я пытаюсь реализовать функцию Dragula Drag and Drop в той части моего приложения, которая позволяет администратору назначать пользователей для определенных ролей. .Cs html реализован и отображается правильно, но мне не удается понять, как написать вызов Ajax, чтобы я мог передать параметры своему методу в контроллере, который использует вспомогательный класс для добавления и удаления. Можно ли передать параметры в ajax $ .post (url), который получен из места, где он был удален? Ниже должен быть указан соответствующий код. Я также понимаю, что Viewbags - не лучший способ сделать это, но если я смогу заставить его работать, я напишу модель представления и вместо этого передам данные.
.cs html Код
их 4, по одному для каждой из 3 назначаемых ролей и по одному для тех, кто не назначен ни одной роли. В настоящее время они корректно заполняются.
<div class="col-3 h-100">
<div class="bg-secondary p-4">
<h6 class="card-title">Developers</h6>
<div id="dragula-developers" class="py-2">
@foreach (var user in ViewBag.Developers)
{
<div class="card rounded mb-2">
<div class="card-body p-3">
<div class="media">
<div class="media-body">
<h6 class="mb-1">@user.FirstName @user.LastName</h6>
<p class="mb-0 text-muted"> @user.Email </p>
</div>
</div>
</div>
</div>
}
Метод контроллера
public JsonResult ManageRoles(string id, string role)
{
var message = "User Not Assigned To Role";
if (id != null)
{
userRolesHelper.RemoveUserFromRole(id, role);
if (!string.IsNullOrEmpty(role))
{
userRolesHelper.AddUserToRole(id, role);
message = "User Assigned To Role Successfully!";
}
}
return Json(message);
}
и, наконец, голые кости моего сценария драгула, где мои ajax должны go, я считаю, после .on ('drop').
(function ($) {
'use strict';
dragula([document.getElementById("dragula-noRole"), document.getElementById("dragula-submitters"),
document.getElementById("dragula-developers"), document.getElementById("dragula-managers")])
.on('drop', function (el) {
console.log($(el));
})
})(jQuery);
Имеется 4 поля, и в идеале, когда пользовательская карта сбрасывается в контейнер драгула, ее идентификатор и роль, связанная с драгулой, должны быть отправлены на почту. и их роль будет изменена, возвращая сообщение. Это не та функция, которая будет активно использоваться, поэтому мне не нужны веб-сокеты, но я не могу понять, как ее реализовать. Любая помощь будет принята с благодарностью!