2011-04-23 48 views
3

我有一个<table>有一个标题行。我试图在标题行下添加一个项目,但似乎没有办法将此意图描述为ActionLink函数。Ajax.ActionLink插入表中的标题之后?

InsertionMode.InsertBefore指定为更新对象只是把该行的表顶部的标题行的ID,Replace替换表的标题,InsertAfter其实是把标题行中新行 - 这显然是无效。

有没有什么办法可以指定我要追加一些HTML之后或之前的标签?

在此先感谢。

回答

4

AFAIK没有办法实现这样的行为只有AjaxOptions类的属性。一种方式是认购OnSuccess方法和做手工插入:

@Ajax.ActionLink("click me", "someAction", new AjaxOptions { OnSuccess = "success" }) 

success功能:

<script type="text/javascript"> 
    function success(result) { 
     $('table').after('th').append(result); 
    } 
</script> 

,或者如果你正在使用MicrosoftAjax你需要调用get_data方法来获取从ajax调用返回的结果:

function success(result) { 
    $('tableid').after('th').append(result.get_data()); 
} 
+0

真棒,谢谢! – 2011-05-23 20:14:35

0

使用jquery。

$("tableid").after("<th></th>").append("whatever"); 
+0

是的,当然我可以使用'$ .ajax()'在jquery中做到这一点,但我的问题是如何在MVC中使用Ajax.ActionLink执行此操作。 – 2011-04-23 01:55:54