ASP.NET consente di generare HTML in modo dinamico utilizzando tag del server (rasoio o ASPX). Ma c'è un buon modo per generare contenuti * .js o * .css allo stesso modo, a parte l'uso di CSS/Javascript incorporati (incorporati). Oggigiorno con tecnologie come Ajax sempre più logiche si spostano dal lato server al lato client in Javascript. Sarebbe fantastico avere questa opportunità di generare JS in modo dinamico utilizzando tutta la flessibilità che ASP.NET offre per la generazione di HTML.Javascript, CSS dinamicamente generato in ASP.NET MVC
Ad esempio, il mio Javascript contiene Knockout dichiarazione vista del modello con i dati iniziali caricati dai server durante il rendering JavaScript, e alcuni ulteriori JS-funzioni, in modo a mio Html invece di script incorporati voglio avere riferimenti script come che:
<script src="~/Scripts/[email protected]"></script>
Un altro esempio, in cui lo sviluppatore potrebbe aver bisogno che sta usando CSS user-profilo in base. informazioni sul profilo utente contiene informazioni di stile (font, i colori, non solo a tema), che devono essere rispettate durante la generazione CSS, in modo a mio avviso avrò qualcosa di simile:
<link href="~/Styles/CurrentUserOverrides.css" rel="stylesheet" />
CurrentUserOverrides.css verrà generato dinamicamente in base sui dati del profilo dell'utente autenticato.
Come fare ciò utilizzando ASP.NET MVC? Voglio trovare una soluzione che mi consenta di farlo con la stessa facilità con cui creo HTML dinamico utilizzando ASP.NET, con intelligenza propriamente funzionante e tutto ciò che VS offre per le visualizzazioni ASP.NET.
Non sono sicuro di capire il vantaggio di ciò che stai cercando di realizzare. Perché vorresti generare Javascript che fosse sensibile al contesto per una determinata pagina? –
Stai cercando di consumare il contatto ID in ContactViewModel.js (e ContactId di 123 viene effettivamente visualizzato dal tuo modello di visualizzazione)? – FiveTools
Sì, ContactViewModel.js deve dichiarare l'oggetto con i valori di campo caricati dal database specificati ContactId –