asp.net mvc ajax:ajax.actionlink自体を更新する方法
-
19-09-2019 - |
質問
多数の要素を持つ要素のリストを表示するページがあります。各要素には、それぞれが有効な状態と障害状態を表すブールプロパティを備えています。
各リスト項目のリンクをユーザーに提供する必要があり、リンクテキストに反対のステータスを表示する必要があります(アイテムが有効になっている場合、リンクテキストに「無効」を表示する必要があります)。
ユーザーが無効にするリンクをクリックすると、アイテムの対応するリンクテキストは「有効」に変更する必要があります(逆も同様です)。
クリックごとにリスト全体をリロードせずに、ActionLink自体のテキストだけをリロードしたくないので、私の質問は次のとおりです。
ユーザーがリンクをクリックしたときにActionLink自体を更新することは可能ですか、それともカスタムJavaScriptを使用してこれを処理しましたか?
解決
私の覚えている限りでは、ほとんどのオーバーロードで最後のパラメーションとして匿名のクラスを新たにすることにより、HTML属性を「A」タグに追加できます。
私の頭の上からこれは次のように書くことができます:
Html.ActionLink("Name", "Action", "Controller", new { @class = 'updateId' });
(クラスで望ましいIDでこれを行うことができる場合があります。一意のクラス名を使用して複数のアイテムを更新しないようにしても。)
次に、JavaScriptを使用してクラス「UpdateID」にアクセスし、内側のHTMLを変更できます。
jQueryの場合:
$("a.updateId").html("NewName");
他のヒント
これは、更新する要素内に含まれるカスタムユーザーコントロールで実行できます。 a ソリューションの書き込みはここにあります. 。カスタムクライアント側のスクリプティングは必要ありません。
所属していません StackOverflow