ASP.NET MVC Ajax: Как обновить сам Ajax.ActionLink по щелчку - PullRequest
2 голосов
/ 20 августа 2009

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

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

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

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

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

Ответы [ 2 ]

1 голос
/ 20 августа 2009

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

С макушки головы это можно написать так:

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

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

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

В случае jQuery:

$("a.updateId").html("NewName");
0 голосов
/ 07 сентября 2009

Это можно сделать с помощью пользовательского элемента управления, содержащегося в элементе для обновления. описание решения можно найти здесь . Никаких пользовательских сценариев на стороне клиента не требуется.

...