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

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

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

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

提前致谢。

【问题讨论】:

    标签: html asp.net-mvc ajax


    【解决方案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());
    }
    

    【讨论】:

      猜你喜欢
      • 2015-01-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多