Sono abituato a fare fare le cose in questo modo:JavaScript non intrusivo con valori lato server, best practice?
<a href="Javascript:void(0);" onclick="GetCommentForGeneralObservation(<%# Eval("ID") %>)">
che sarebbe in un ripetitore o simili btw. Tuttavia ora sto cercando di usare JavaScript non invadente e quindi di eliminare qualsiasi JS nel markup. Stavo cercando di capire qual è la migliore pratica in casi come questo? Ho usato gli attributi e poi ho ottenuto il valore usando JQuery per passare alla chiamata AJAX ma sembra un po 'un trucco.
Modifica alla luce della prima risposta:
pensavo più del
parte di discreto JS se ho capito bene.
Questo accade per un'applicazione in cui non devo preoccuparmi che JavaScript venga disattivato sul client, sia ospitato internamente presso la mia azienda. Quello che stavo ottenendo era come avrei ottenuto il valore da Eval ("ID") nella chiamata JS se dovessi collegare l'evento onclick in un file .js separato tramite JQuery.
Ci scusiamo per non essere più chiari. Apprezzo la necessità di un miglioramento progressivo nelle app pubbliche.
Attualmente faccio la stessa cosa, usando solo l'attributo 'nome'. Quindi sembra var id = $ (questo).attr ('name'); – JAL
Sì attributi è il metodo che ho provato come una risposta a questo anche se non sapevo del prefisso "data-" quindi grazie per questo, fa sentire meno di un hack che è un modo accettato di allegare dati a elementi. –
Questa è una risposta molto tardiva, ma l'approccio preferito per ottenere un attributo dati tramite jQuery è l'API dei dati: http://api.jquery.com/data/. In questo caso useresti var id = $ (this) .data ('render-id'); –