Ajax.ActionLink вставить после заголовка в таблице?

#html #asp.net-mvc #ajax

#HTML #asp.net-mvc #ajax

Вопрос:

У меня есть <table> , в котором есть строка заголовка. Я пытаюсь добавить элемент в строку заголовка, но, похоже, нет способа описать это намерение ActionLink функции.

InsertionMode.InsertBefore с идентификатором строки заголовка, указанным в качестве цели обновления, просто помещает строку в начало таблицы, Replace заменяет заголовок таблицы и InsertAfter фактически помещает новую строку внутри строки заголовка, что, очевидно, недопустимо.

Есть ли какой-либо способ указать, что я хочу добавить некоторый HTML-код после или перед тегом?

Заранее спасибо.

Ответ №1:

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>
  

или, если вы используете Microsoft Ajax, вам нужно вызвать get_data метод для извлечения возвращаемого результата из вызова ajax:

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

Ответ №2:

Используйте Jquery.

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

Комментарии:

1. Да, конечно, я мог бы сделать это в jquery с помощью $.ajax() , но мой вопрос в том, как это сделать с помощью Ajax. ActionLink в MVC.