2010-04-08 15 views
7

Ana sayfamda jQuery UI tabanlı bir MessageBox uygulaması yapmaya çalıştığım bir sitem var. İçerik sayfaları, iş alanı klasörlerine, yani '~/Branding/Contracts.aspx' biçimine göre düzenlenmiştir. Böyle bir içerik sayfası yüklediğimde, ana sayfada aşağıda verilen jQuery öğesinin yüklenmediğini görüyorum. Bunun, tarayıcının 'Markalama/Komut Dosyaları/jQuery' istediği için olduğunu farz ediyorum. Bununla ilgili ne yapabilirim? Düz 'script' etiketinde 'root' operatörü yok.jQuery İçerik Sayfası bir alt klasördeyken Ana Sayfada yüklenmiyor

<script src="/Scripts/jquery-1.3.2.js" type="text/javascript"></script> 
<script src="Scripts/jquery-1.3.2.js" type="text/javascript"></script> 
<script src="Scripts/jquery-ui-1.7.2.custom.min.js" type="text/javascript"></script> 

cevap

9

bunu kullanın senin herhangi bakacak MasterPage

<script src="<%= ResolveUrl("~/Scripts/jquery-1.3.2.js") %>" type="text/javascript" /> 

lütfen haber verin daha fazla sorun.

+0

Benim iki sent. 'olmalıdır. "

1

Seçeneklerden biri Googles AJAX libraries gibi bir şey için jQuery'ye çağrınızı "Outsource" etmektir. Bu, müşterilerinizin jQuery'nin önbelleğe alınmış bir sürümüne sahip olma olasılığını artırarak size avantaj sağlayacaktır. elbette diğer özel komut dosyaları varsa

Ben http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js

Bu alışkanlık yardım ederim kullanırlar. Bunun için asıl sayfamın sayfa yüklenme olayında, ortak scipse'leri yüklemek için kullanıyorum.

 HtmlGenericControl myJs = new HtmlGenericControl(); 
     myJs.TagName = "script"; myJs.Attributes.Add("type", "text/javascript"); 
     myJs.Attributes.Add("language", "javascript"); //don't need it usually but for cross browser. 
     myJs.Attributes.Add("src", ResolveUrl("~/scripts/jquery-ui-1.7.2.custom.min.js")); 
     this.Page.Header.Controls.Add(myJs); 

Normalde yükleme yukarı multible js dosyaları kolaylaştırmak için komut yolu için bir paremter ile bir fonksiyonu olarak ayarlayın. Kod için

Ode Usta Sayfalarında fantatic makale ve bu tür bir şey vardır: içinde

http://odetocode.com/Articles/450.aspx

0

Bu eski olduğunu biliyorum, ama birisi benim gibi sahip olabilirsiniz. Her neyse, bu komut dosyalarını ASP ScriptManager nesnesini kullanarak kaydedebilirsiniz.

<asp:ScriptManager ID="ScriptManager" runat="server"> 
    <Scripts> 
     <asp:ScriptReference Path="Scripts/jquery-1.8.3.js" /> 
     <asp:ScriptReference Path="Scripts/bootstrap.js" /> 
     <asp:ScriptReference Path="Scripts/general.js" /> 
    </Scripts> 
</asp:ScriptManager> 

Bu, komut dosyalarınızın bir Page. ResolveUrl kullanmadan yüklenmesine izin verir. Sadece bir tercih sanırım.

İlgili konular