ASP.net MVC e jQueryUI dilemma
-
03-07-2019 - |
Domanda
Ho appena spostato un progetto per la versione beta di ASP.net MVC
quadro e l'unico problema che sto avendo è con jQuery
e jQueryUI
.
Qui è l'affare:
In Site.Master
sono gli script seguenti riferimenti:
<script src="../../Scripts/jquery-1.2.6.js" type="text/javascript"></script>
<script src="../../Scripts/jquery-ui.js" type="text/javascript"></script>
E l'uso di tali, la accordian UI
che ho su una delle viste funziona perfettamente, tranne che per un problema:le immagini ThemeRoller
non sono inclusi nella pagina.Se io commento jQuery referenze, ThemeRoller immagini ci sono.Tutti i css è in Content folder
e tutti gli script sono in Scripts folder
.
So che questo è un banale problema di percorso, ma questo mi dà contrazione.
Che cosa mi manca?
Aggiornamento
Ho provato la prima risposta, senza esito, di leggere il commento per i dettagli.Grazie di nuovo per chi si sta visualizzando.
Il secondo approccio è che non funziona neanche.Io sono sconcertato.
Un Altro Aggiornamento
Utilizzando il Url.Content
tag per gli script, infatti consentire gli script per funzionare correttamente.Utilizzando un normale tag per il foglio di stile viene a tutti gli stili sulla pagina, fatta ECCEZIONE per tutte quelle relative al ThemeRoller.
Il jquery-ui-themeroller.css
il file è Contenuto in cartella e quando ho ispezionare un elemento, il css è presente.Ho il sospetto che il problema sia la mappatura da questo file css nella cartella immagini per la themeroller, che è Contenuto in cartella.Immagine link a questo file come specificato come: background: url(images/foo.gif)
Fare i collegamenti in questo file bisogno di cambiare?
Soluzione
aiuta?
http://forums.asp.net/p/1334947/2690469.aspx
Il motivo dell'incongruenza è molto semplice, anche se lo ammetto, non lo è facile da capire! Quando hai un & Lt; link gt &; tag all'interno di una testa < runat = " server " > ;, ASP.NET verrà elaborato il < link > taggare e rilevare URL e risolverli relativi al radice dell'applicazione. Quando hai un & Lt; script gt &; tag sulla pagina (senza runat = " server ") quindi ASP.NET lo farà lasciarlo da solo poiché è semplicemente chiaro vecchio HTML.
L'uso di Url.Content () è l'approccio I. userebbe per risolvere questo poiché lo farà risolto rispetto alla radice dell'app, proprio come < link > tag.
Altri suggerimenti
A meno che tutte le visualizzazioni non siano allo stesso livello, dovrai utilizzare
- Utilizza un percorso assoluto come /Scripts/jquery-1.2.6.js
- O ancora meglio, risolvi un percorso virtuale come <% = Url.Content (" ~ / Scripts / jquery-1.2.6.js ")% >
Url.Content () http://jvance.com/media/ 2008/10/18 / UrlContent5.media
È necessario modificare il link in jquery-ui-themeroller.css per scegliere la posizione corrente delle immagini.
Come in, è necessario aggiornare il percorso delle immagini che il file css è alla ricerca di.
background: url(images/foo.gif)
Rimuovere le 'immagini/' dal tuo sentieri per farlo sembrare come:
background: url(foo.gif)
come sia il css e le immagini sono nella cartella del contenuto.
protected void Page_Load(object sender, EventArgs e)
{
Page.ClientScript.RegisterClientScriptInclude(this.GetType(),"JQuery", ResolveUrl("~/js/jquery.min.js"));
Page.ClientScript.RegisterClientScriptInclude(this.GetType(), "JQueryUI", ResolveUrl("~/js/jquery-ui.custom.min.js"));