2010-06-04 23 views
7

Tabloların ve düğmelerin bir bileşimi olan özel bir kontrol geliştiriyorum. Ayrıca bu elemanların stillerini tanımlayan harici bir CSS stil sayfası var.Bir CSS Stil Sayfasını bir ASP.NET Özel Kontrolüyle Bağlama

denetimin türü ad altında, CompositeContrololduğunu MyControls ve sınıf tanımı oluşturulan dll dosyası MyControls.dll

adlı CompositeControl.cs ve sınıf dosyasında olduğunu stil sayfası styles.css olarak adlandırılır ve CompositeControl.cs

ile aynı klasörde bulunur. Her bir denetim için (Düğme, Tablo Cehennem vb.) d CssClass özelliği.

Bu denetimi ASP.NET web sayfama eklediğimde ve localhost'ta çalışırken HTML kaynağını kontrol ettiğimde, tüm denetim etiketlerinin sınıf özniteliğinin doğru şekilde ayarlandığını görüyorum, ancak kaynakta <link> etiketi bulunmuyor. harici bir stil sayfası eklemek için gerekli.

Birisi bana bu işi yapmak için ne yapmam gerektiğini söyleyebilir mi? Teşekkürler.

cevap

7

Harici kaynak dosyaları sayfaya otomatik olarak dahil değildir. Sen sayfanıza sizin kontrolünüz dahilinde bunları manuel kayıt olmalıdır:

HtmlLink cssSource = new HtmlLink(); 
cssSource.Href = Page.ClientScript.GetWebResourceUrl(this.GetType(), "styles.css"); 
cssSource.Attributes["rel"] = "stylesheet"; 
cssSource.Attributes["type"] = "text/css"; 
Page.Header.Controls.Add(cssSource); 

Ayrıca gömülü kaynağın yerini almak için ClientScriptManager.GetWebResourceUrl kullanmayı deneyin. Gömülü bir kaynağa referans veren an example.

+0

Teşekkürler. İşe yaradı. –

+0

GetWebResourceUrl kullandıktan sonra, stil sayfası bağlanmaz. –

+0

@wacky_coder: Evet, problemi görüyorum, ilk parametre, parametre yaz, kaynağın kabı olmalı. Bu durumda kontrolün tipi. – Canavar

İlgili konular