Şu sıralar çalıştığım projede böyle bir durumla karşılaştım.
bunun sebebi nedir?
Sayfanın her yüklenmesinde Request.Url i kontrol ettiğimde url lerin sayfadaki bazı image dosyalarını işaret ettiğini gördüm.
.aspx dosyasında, src=”../Images/test.png” şeklinde yapılandırılan bir srcözelliği, özellikle de DXImageTransform.Microsoft.AlphaImageLoadernesnesi kullanılıyor ise, bu path in başına sayfa adresini ekliyor vesrc=”../Images/test.png” şeklindeki her kullanım için sayfa tekrardan load oluyor.
bunun çözümü nedir?
Çözüm aslında çok basit, tek yapmamız gereken src=”../images/test.png”kullanımı yerine, her zamansrc=”<%=ResolveClientUrl(“~/images/test.png”)%>” kullanımını tercih etmektir.
.aspx dosyasında sorun bu şekilde çözüldü ama işin birde css tarafı var. Css lerdeki “background: url(../images/test.png)” kullanımı için ne yapılabilir?
Bunun için çözüm yolu ise, .css dosyası yüklendikten sonra ilgili css class ını ezmek olacaktır.
form.css adlı css dosyamızda .test{background: url(../images/test.png) no-repeat !important;} şeklinde css class ımız olduğunu düşünürsek, aspx sayfamıza aşağıdaki gibi;
<link href=”<%=ResolveClientUrl(“~/css/forms.css”) %>” rel=”stylesheet” type=”text/css” />
form.css dosyamızı ekledikten sonra .test isimli class ımızdaki background url i aşağıdaki gibi ezmemiz sorunumuzu çözecektir.
.test{background: url(‘<%=ResolveClientUrl(“~/images/test.png”)%>’) no-repeat !important;}
Bu çözüm yolu işimize yaradı. Umarım sizlerinde işine yarar.
Önerebileceğiniz başka bir çözüm yolu olursa lütfen yazın. Yoksa uygulayın
0 yorum:
Yorum Gönder