2009-08-20 17 views
2

多くの要素を持つ要素のリストを表示するページがあります。リストには、それぞれがブール値のプロパティを持ち、Enabled Disabled状態になります。ASP.NET MVC Ajax:クリックしてAjax.ActionLink自体を更新する方法

各リストアイテムのリンクをユーザーに提供する必要があり、リンクテキストは反対のステータスを表示する必要があります(アイテムが有効な場合、リンクテキストには「無効」が表示されている必要があります)。

ユーザーが無効のリンクをクリックすると、アイテムの対応するリンクテキストが「有効」(またはその逆)に変更される必要があります。

私は私の質問があり、クリックごとにリスト全体、ActionLinkの自身のテキストだけをリロードしないしたいと思います:

は、ユーザーがリンクをクリックしたときにちょうどActionLinkの自分自身を更新することが可能ですまたはカスタムJavaScriptを使用してこれを処理する必要がありますか?

答えて

1

覚えている限り、ほとんどのオーバーロードで最後のパラメータとして匿名クラスを新しくすることで、HTML属性を「a」タグに追加できます。私の頭の上オフ

これは次のように書くことができます。

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

(あなたがクラスよりも好ましいだろうIDでこれを行うことができるかもしれません - ちょうどユニークなを使用しない場合複数のアイテムの更新を避けるためにクラス名を使用します)。

次に、javascriptを使用してクラス "updateId"にアクセスし、内部HTMLを変更できます。 jQueryの場合には

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

これは更新する要素内に含まれるカスタムユーザーコントロールを用いて行うことができます。 A writeup of the solution can be found here。カスタムのクライアントサイドスクリプトは不要です。

関連する問題