Question

I ai une page qui affiche une liste avec des éléments ayant un grand nombre d'éléments, dont chacun possède une propriété booléenne, soit une activé et un état désactivé.

Je dois fournir à l'utilisateur un lien pour chaque élément de la liste, et le texte du lien doit afficher l'état opposé (si l'option est activée, le texte de lien doit afficher « Désactiver »).

Lorsque l'utilisateur clique sur le lien pour une personne handicapée, le texte du lien correspondant pour l'élément doit passer à « Activer » (et vice versa).

Je voudrais pas recharger la liste entière pour chaque clic, tout le texte du ActionLink lui-même, donc ma question est:

Est-il possible de mettre à jour juste un ActionLink lui-même lorsque l'utilisateur clique sur le lien, ou dois-je gérer cela à l'aide do JavaScript personnalisé?

Était-ce utile?

La solution

Pour autant que je me rappelle, vous pouvez ajouter des attributs HTML à la balise « a » par newing en place une classe anonyme comme le dernier param sur la plupart des surcharges.

Du haut de ma tête ce qui peut être écrit comme suit:

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

(Vous pouvez être en mesure de le faire avec une carte d'identité qui serait préférable à une classe -. Sinon il suffit d'utiliser un nom de classe unique pour éviter la mise à jour plusieurs éléments)

Ensuite, vous pouvez utiliser javascript pour accéder à la classe « UpdateID » et changer le code html interne.

Dans le cas de jQuery:

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

Autres conseils

Cela peut être fait avec un contrôle utilisateur personnalisé contenu dans l'élément de mise à jour. Un writeup de la solution peut être trouvée ici . Pas de script côté client personnalisé est nécessaire.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top