我有表格行的部分 View 。表中的每一行描述一个元素。一个元素可以有子元素,但如果它是一个子元素,它就不能有自己的子元素。在表格中,每个父元素都有一行,并且所有子元素都有一个列表。我正在努力在他们可以单击的子元素旁边添加一个链接,它将不再是一个子元素。所以它需要从列表中删除,并在您刚刚将其取出的父元素下的表中添加一行。我有以下 javascript 函数,可以正确更新数据库中的元素,使其不再有父元素并将其从列表中删除。
function removeElementFromParent(id, parentid) {
if (confirm("Are you sure you want to remove this element from the group?")) {
$.post('@Url.Content("~/Pack/RemoveElementFromParent")', { "elementid": id });
$('#' + id).remove();
}
}
为了创建行并插入它,我尝试这样做:
$('@Url.Action("~/Pack/ElementRow", new { elementid = id })').insertAfter('#' + parentid);
但这行不通,因为您不能在 @Url.Action(...) 中使用 javascript 变量 id。我已经使用 $('#id').load(@Url.Action(...));
来加载请求的数据。我试图做类似的事情,但由于我们没有定义的加载它的地方,所以在这种情况下是行不通的。此外,您仍然无法使用 javascript 变量。
如果有更好的方法,将不胜感激
编辑
这是我的解决方案:
$('<tr id="' + id + '"></tr>').insertAfter('#' + parentid);
$('#' + id).load('@Url.Action("ElementRow")' + '?elementid=' + id);
最佳答案
如果你想在 Url.Action 中使用 javascript 变量,你应该这样写
$('@Url.Action("~/Pack/ElementRow")' + "?elementid=" + id).insertAfter('#' + parentid);
希望这能解决您的问题。
关于javascript - 使用 jquery 加载和插入 ASP.NET 分部 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11105442/