Sto tentando di aggiungere un riferimento di script a jQuery nella mia pagina principale in modo che funzioni per qualsiasi pagina. E 'attualmente appare cosìProblemi di pagina principale e file ASP.Net
<script type="text/javascript" src="jquery.js"></script>
Il problema è che il percorso è sempre relativo alla pagina aspx esecuzione così questo funziona solo se il file "jquery.js" si trova nella stessa cartella. Per farlo funzionare devo cambiare la linea:
<script type="text/javascript" src="../../jquery.js"></script>
Questo è ovviamente meno che ideale, perché funziona solo per le pagine che sono due livelli di profondità dalla cartella principale. Se provo quanto segue, IIS genera un errore su un personaggio inaspettato.
<script runat="server" type="text/javascript" src="~/jquery.js"></script>
Qualche idea?
EDIT: ho dimenticato di dire anche che lo script deve essere nel tag head
La risposta attuale top getta una "ASP.NET Ajax framework lato client non è riuscito a caricare" Errore quando lo aggiungo alla mia pagina principale. È generato da javascript e non dal compilatore .Net. Se sposto lo ScriptManager nella sezione head dove dovrebbe essere, viene visualizzato un errore di compilazione relativo allo ScriptManager che deve trovarsi all'interno di un tag form.
La terza risposta getta un "caratteri illegali nel percorso." Eccezione del compilatore
EDIT 2: Quando aggiungo quella linea al mio tag head ottengo questo errore da IIS.
La collezione I controlli non possono essere modificati perché il controllo contiene blocchi di codice (cioè <% ...%>)
risolto: ho preso la risposta modificata dalla risposta qui sotto e metterlo all'interno di un asp: ContentPlaceHolder elemento
Sì, questo è un metodo altamente raccomandato in molti libri ASP.NET che ho scritto quando si tratta di percorsi in pagine master. – Kezzer
FYI, il mio collega e io ci siamo appena provati. Ciò non sembra funzionare in uno scenario della pagina principale nidificato * nella pagina principale padre *. Passare alla pagina principale del bambino, tuttavia, ha fatto il trucco. – technomalogical
Questo ha funzionato per me su quasi tutte le mie pagine, ma per 2 pagine che sarebbero esplose con una certa eccezione: "La collezione di controlli non può essere modificata perché il controllo contiene codice". La soluzione consiste nel modificare l'inclusione dello script nell'intestazione da un codeblock response.write a un valutatore del database (ad esempio, modificare <% = a <% #). Potrei azzardare un'ipotesi che si tratti di un qualche tipo di tentativo da parte di MS di bloccare gli attacchi dell'header http. Una spiegazione migliore di questa facile soluzione è disponibile su: http://leedumond.com/blog/the-controls-collection-cannot-be-modified-because-the-control-taintain-code-blocks/ – Jagd