Ajax.ActionLink 在表中的标题后插入?

Posted

技术标签:

【中文标题】Ajax.ActionLink 在表中的标题后插入?【英文标题】:Ajax.ActionLink insert after header in a table? 【发布时间】:2011-08-11 07:41:11 【问题描述】:

我有一个<table>,它有一个标题行。我正在尝试在标题行下添加一个项目,但似乎无法向 ActionLink 函数描述此意图。

InsertionMode.InsertBefore 将标题行的 ID 指定为更新目标只是将行放在表的顶部,Replace 替换表的标题,InsertAfter 实际上在标题行中放置了一个新行-- 这显然是无效的。

有什么方法可以指定我想在标签之后或之前追加一些 html 吗?

提前致谢。

【问题讨论】:

【参考方案1】:

使用 Jquery。

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

【讨论】:

是的,我当然可以在 jquery 中使用 $.ajax() 执行此操作,但我的问题是如何在 MVC 中使用 Ajax.ActionLink 执行此操作。【参考方案2】:

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());

【讨论】:

以上是关于Ajax.ActionLink 在表中的标题后插入?的主要内容,如果未能解决你的问题,请参考以下文章

无法使用oracle中的游标在表中插入记录

Oracle 12c - 使用另一个表中的值在表中插入值

无法使用 Liquibase 中的序列在表中插入值

为mysql中的每个查询结果在表中插入行[重复]

在表中插入主键的问题

oracle的date类型:我在表中的某个字段设置的类型是date,想要插入数据后显示"年月日时分秒",该如何插入