Diciamo che avevamo uno scenario in cui la nostra app non avrebbe utilizzato jqueryui, ad eccezione di un particolare modello di editor. Se voglio evitare di inserire jqueryui su ogni pagina (cioè non voglio includerlo nei bundle che sono caricati di default nel mio _Layout.cshtml), come posso avere il modello di editor include il jqueryui.js e jqueryui.css file per me in un modo che non risulterebbe in più riferimenti a quei file, e metterebbe i riferimenti nell'intestazione o alla fine del mio corpo invece di inline?Come aggiungere codice di riferimento JavaScript o css da un modello di editor
Ecco quello che ho provato nel mio editor di modelli che non ha sembrano funzionare:
@System.Web.Optimization.Scripts.Render("~/bundles/jqueryui")
@System.Web.Optimization.Styles.Render("~/Content/jqueryuistyles")
Questa aggiunti i tag di script e di collegamento, ma rende i tag una volta per l'uso dell'editor template, e li rende anche in linea, quindi nel mio caso, prima che jQuery sia stato caricato nella parte inferiore del corpo.
@section Scripts{ <script src="@System.Web.Optimization.BundleTable.Bundles.ResolveBundleUrl("~/bundles/jqueryui")"></script> }
Questo corrisponde a quanto io includo il fagotto nel mio _Layout.cshtml, ma questo a quanto pare non funziona da un editor di modelli. Nulla è stato reso a tutti, e anche se lo fosse, penso che sarebbe ancora in più riferimenti al file JavaScript (1 per volta che il modello di editor è stato chiamato)
Sembra che ci dovrebbe essere un modo per avere un modello di editor fa scattare l'inclusione di un file JavaScript o css che può collegarsi ai bundle o almeno al sistema @section. Qualcuno sa come fare questo?
Questo è esattamente il motivo per cui non includi mai gli script nei modelli di editor o partial. Perché non aggiungere gli script solo alla vista specifica piuttosto che al layout. –
Si potrebbe dare un'occhiata a [requirejs] (http://requirejs.org/). –
@StephenMuecke Perché non metterlo in vista? Io sicuramente * potrei *, ma se tornassi più tardi e cambiassi il mio modello di editor da jqueryui a qualcosa di nuovo ... allora avrei dovuto rintracciare tutte le viste che lo usavano e ripulirle. In altre parole, penso che la vista non debba preoccuparsi di quali script richiedono i suoi modelli di editor. Mi piace l'idea che il modello di editor sia completamente autonomo. – ctb