HTML LINK tagı olarak aspx sayfasından değil de, programatik olarak ve Code Behind tarafında CSS stil dosyasının linkini tanımlamak istersek ne yapacağız?
Bu ne işimize yarar: örneğin dinamik olarak CSS dosyalarının yerini belirtmek gerektiğinde.
htmllink nesnesini kullanabilmek için
using System.Web.UI.HtmlControls;
diye cs sayfamızın başında belirttikten sonra, Page_Init eventinde aşağıdaki satırları belirtirsek, klasör yolunu göreli olarak belirttiğimiz CSS dosyasını aspx sayfasına bağlar.
protected void Page_Init(object sender, EventArgs e) { // Define an HtmlLink control. HtmlLink myHtmlLink = new HtmlLink(); myHtmlLink.Href = "~/StyleSheet.css"; myHtmlLink.Attributes.Add("rel", "stylesheet"); myHtmlLink.Attributes.Add("type", "text/css"); // Add the HtmlLink to the Head section of the page. Page.Header.Controls.Add(myHtmlLink); }
Kaynak: http://msdn.microsoft.com/en-us/library/system.web.ui.htmlcontrols.htmllink.aspx
Diğer faydalı olabilecek kaynaklar:
http://www.4guysfromrolla.com/articles/112906-1.aspx
http://www.asp.net/cssadapters/ (bu asp.net kontrollerini tableless kullanmak için bileşen, henüz denemedim, VS 2010'da gerek var mı bilmiyorum).
Ayrıca App_Browsers isminde klasör oluşturup, içinde .browser dosyaları tanımlayarak, asp.net kontrolleri ve internet gezginleri için sıfırdan stiller oluşturmak mümkünmüş, henüz denemedim.