Domanda

Ho una pagina che visualizza un elenco con un di elementi con un gran numero di elementi, ciascuno dei quali ha una proprietà di tipo boolean, che rappresenta un Attivata e Disattivata.

Ho bisogno di fornire all'utente con un link per ogni voce dell'elenco e il testo del link è necessario dimostrare il contrario lo stato (quindi, se la voce è attiva, il testo del link è necessario visualizzare Disabilita').

Quando l'utente fa clic sul collegamento, per un Disabile, il corrispondente link di testo per l'elemento deve cambiare per 'Attivare' (e viceversa).

Vorrei NON ricaricare l'intero elenco per ogni clic, solo il testo del ActionLink stesso, quindi la mia domanda è:

È possibile aggiornare solo un ActionLink quando l'utente fa clic sul collegamento, o devo fare gestire questo utilizzando javascript personalizzato?

È stato utile?

Soluzione

Per quanto mi ricordo, è possibile aggiungere attributi HTML per il "" tag da newing una classe anonima come l'ultimo param sulla maggior parte dei sovraccarichi.

Fuori della parte superiore della mia testa questo può essere scritto come segue:

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

(Si può essere in grado di fare questo con un ID che sarebbe preferibile rispetto a una classe, se non usare un nome di classe univoco per evitare l'aggiornamento di più elementi).

Quindi è possibile utilizzare javascript per accedere alla classe "updateId" e modificare il codice html interno.

In caso di jQuery:

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

Altri suggerimenti

Questo può essere fatto con un controllo utente personalizzato contenuta all'interno dell'elemento da aggiornare. Un della soluzione può essere trovata qui . No scripting personalizzato sul lato client è necessario.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top