Ağustos 29, 2010

Asp.Net .dll (assembly) içine javascript eklemek (embedded resource)

Kendi kontrollerimizi oluştururken kontrol içinde kullanacağımız javascript dosyalarını kontrolümüzün içine gömmek isteyebiliriz.Bunu yapmak için ilk olarak .dll içine gömeceğimiz javascript dosyasının Build Action seçeneğini Embedded Resource olarak değiştirelim.

Ardından bu dosyanın kaynak dosyası olduğunu bildirmek için AssemblyInfo dosyasına aşağıdaki kodu ekleyelim.
[assembly: System.Web.UI.WebResource(“ProjeAdi.JavascritAdi.js”, “text/javascript”)]
Not:Dosya yolunu belirtirken dikkat edilmesi gereken nokta;.js dosyalarının bulunduğu konum mesela Klasor1\Klasor2\JavaScriptAdi.js ise burada slash ("\") ların yerinde nokta (".") koyarak dosya yolunu (path) belirtmenizdir.
[assembly: System.Web.UI.WebResource(“ProjeAdi.Dosya1.Dosya2.JavascritAdi.js”, “text/javascript”)]

Şimdi eklediğimiz bu kodu nasıl sayfaya çağıracağımız kısmına geçelim.Javascript kodunu çağıracağımızı sayfaya farklı şekillerde  bildirebiliriz;
  1. Kullanacağımız sayfaya  scripmanager ekleyip scripts kısmından assembly(ProjeAdi) ve Name(ProjeAdi.JavascritAdi.js) yazarak.
  2. Sayfanın kod kısmına ScriptManager1.Scripts.Add(new ScriptReference(“ProjeAdi.JavascritAdi.js”, “ProjeAdi”)) şeklinde ekleme yaparak.
  3. Aşağıdaki kodu sayfaya ekleyerek javascript kodunu sayfaya çağırabiliriz.
if (Page.ClientScript.IsClientScriptIncludeRegistered(this.GetType(), "JSKontrol") = false) then
Page.ClientScript.RegisterClientScriptInclude("JSKontrol",  _
Page.ClientScript.GetWebResourceUrl(this.GetType(),
"ProjeAdi.JavaScriptAdi.js"))
End If

Hiç yorum yok:

Yorum Gönder

System.Text.Json.JsonException hatası - cycle or if the object depth is larger than the maximum allowed depth of 32.

 Eğer .net'te aşağıdaki hatayı alıyorsanız; " A possible object cycle was detected which is not supported. This can either be due t...