Forse posso fornire un utile work-around, a seconda di ciò che si desidera realizzare.
Sono stato tentato di trovare un modo per valutare le espressioni del rasoio in un file di script java. Ho voluto allegare un gestore di eventi click jQuery per inviarlo con una classe specifica che si trova su molte pagine. Questo dovrebbe essere fatto in un gestore di eventi pronto per jQuery. Questo evento click eseguirà una chiamata Ajax.
L'URL di questi deve essere relativo all'applicazione, non assoluto, nel caso in cui l'applicazione risieda al di sotto del livello radice. Così, ho voluto usare qualcosa come
$(document).ready(function() {
$('input[type="submit"].checkit)').click(function (e) {
$.ajax({
type: 'POST',
url: '@Url.Content("~/checkit")', //Razor expression here
dataType: 'json',
success: function (data) {
if (!data) {
e.preventDefault();
handleResponse(data);
}
},
data: null,
async: false
});
});
});
Ho risolto questo avvolgendo il codice in una funzione Checkit e spostando la chiamata alla visualizzazione layout:
$(document).ready(function() {
Checkit('@Url.Content("~/checkit")');
});
maggior parte del codice JavaScript è ancora in un file javascript.
fonte
2013-08-09 12:45:17
... Le persone che generano in modo dinamico JavaScript soffrono terribilmente. Non si incorpora il codice Razor in un file javascript perché i file JAVASCRIPT SONO STATICI. – Raynos
Sarebbe molto meglio chiedere aiuto su una soluzione al problema che stai cercando di risolvere. Quindi, inizia con il dettaglio del problema, quindi la tua soluzione tentata. Il modo in cui stai attualmente cercando di risolverlo, beh, non va bene. – Paul
Vorrei provare a trovare una soluzione più generale altrimenti avrei bisogno di chiedere qui molte volte per situazioni diverse. –