#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.