2009-08-20 3 views
2

У меня есть страница, которая отображает список с элементами из большого количества элементов, каждый из которых имеет логическое свойство, представляющее Enabled и состояние «Отключено».ASP.NET MVC Ajax: как обновить сам Ajax.ActionLink на

Мне нужно предоставить пользователю ссылку для каждого элемента списка, а текст ссылки должен показывать противоположный статус (поэтому, если элемент включен, текст ссылки должен отображаться «Отключить»).

Когда пользователь нажимает на ссылку для Отключено, соответствующий текст ссылки на элемент должен быть изменен на «Включить» (и наоборот).

Я хотел бы НЕ перезагрузить весь список за каждый клик, только текст самого ActionLink, поэтому мой вопрос:

Можно ли обновить лишь сам, когда пользователь нажимает на ссылку ActionLink, или я могу справиться с этим с помощью пользовательского javascript?

ответ

1

Насколько я помню, вы можете добавить атрибуты HTML в тег «a», добавив анонимный класс в качестве последнего параметра для большинства перегрузок.

Off верхней части моей головы, это можно записать так:

Html.ActionLink("Name", "Action", "Controller", new { @class = 'updateId' }); 

(Вы можете быть в состоянии сделать это с идентификатором, который был бы предпочтительнее по классу - если не просто использовать уникальный имя класса, чтобы избежать обновления нескольких элементов.)

Тогда вы можете использовать javascript для доступа к классу «updateId» и изменить внутренний html.

В случае JQuery:

$("a.updateId").html("NewName"); 
0

Это можно сделать с помощью элемента управления пользовательского пользователя, содержащегося в элементе, чтобы обновить. A writeup of the solution can be found here. Никаких пользовательских сценариев на стороне клиента не требуется.

Смежные вопросы