【发布时间】:2021-04-28 11:05:31
【问题描述】:
谁能建议我在这里需要改变什么?
我从包含“已更改”类的元素中获取类,我得到的类包含我想传递给控制器方法的 id。
当我查看网络选项卡时,我可以在负载中看到我想要的数据,它看起来像这样:
{"list":["GroupId-1","SubGroupId-2","changed"]}
但是当我在控制器上放置断点时,列表为空。
这是我在控制器方法中期望的类:
public class MemberGroups
{
public string GroupId { get; set; }
public string SubGrouId { get; set; }
public string Status { get; set; }
}
用于保存的javascript
function Savechanges() {
var spans = document.getElementsByClassName("changed");
var list = [];
$.each(spans,
function (key, value) {
$.each(value.classList,
function (key, value) {
list.push(value);
});
});
var dataToPost = JSON.stringify({ list: list });
$.ajax({
url: "/umbraco/Api/OrganisationMemberGroupsDashboardApi/UpdateMemberToGroup",
data: JSON.stringify({ list }),
type: "POST",
contentType: "application/json; charset=utf-8", // specify the content type
})
.done(function (data) {
});
}
控制器
public string UpdateMemberToGroup( List<MemberGroups> list)
{
// save records
}
span 是动态创建的并添加到树视图中。当它们被拖放时,所有类都被删除,然后“更改”类与 id 类一起添加,所以我只将我需要的类传递给控制器
var s = document.createElement('span');
s.classList.add('node-facility');
s.classList.add('ui-droppable');
s.classList.add('GroupId-' + value.GroupId);
s.classList.add('SubGroupId-0');
s.id=('GroupId-' + value.GroupId);
s.appendChild(document.createTextNode(value.GroupName));
【问题讨论】:
-
你能显示你的跨度数据吗?
-
刚刚更新了帖子,谢谢
-
谢谢,但我想看看你的 spans var 。
标签: javascript c# ajax asp.net-mvc .net-core