3
我有一个表的行的部分视图。表中的每一行都描述了一个元素。一个元素可以有子元素,但是如果它是一个子元素,它就不能拥有它自己的子元素。在表中,每个父元素都有一行,并且它的所有子元素都有一个列表。我正在努力在他们可以点击的子元素旁边有一个链接,它不再是一个孩子。所以它需要从列表中删除,并将一行添加到您刚刚从其中取出的父元素下的表中。我有以下javascript funciton正确更新数据库中的元素,不再有父级并将其从列表中删除。使用jquery加载和插入ASP.NET局部视图
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);
您可以尝试写入实际的网址,而不是使用助手。如果它是'post'请求,那么你可以在{data:id}参数中写入参数,如果它是'get'u可以写出如下内容:{url:'// /'+ id}。还有一些方法可以将部分视图作为一个字符串返回,并将其解析为Json。我想你可以在这里找到你的答案:http://stackoverflow.com/questions/483091/render-a-view-as-a-string –