2016-04-11 16 views
2

Denetimin daha önce sayfaya yüklenip yüklenmediğini kontrol etmek için bir .Net kullanıcı denetimi içinde bir yol var mı?Sayfada daha önce yüklenen Usercontrol olup olmadığını kontrol edin

Her bir denetimi yüklendiğinde izlemek için bir .Net oturum değişkeninde bir değişken depolamayı denedikten sonra, değişkenin sayfada önceden oluşturulma olayına atılmasını düşündüm. Bana bunu başarmanın daha iyi bir yolu olmalı.

Bunu yapmamın nedeni, usercontrol'lerin sitecore içinde alt harf olarak yüklenmesinden kaynaklanıyor ve bir içerik yazarının sayfaya denetimi kaç kez eklemiş olabileceği hakkında hiçbir fikrim yok. Kontrol, sayfaya ilk kez çağrılıyorsa, üçüncü taraf bir hizmet için bir div etiketi yazmam gerekiyor. Eğer div etiketi bir kereden fazla gerçekleşirse, 3. taraf hizmeti, gawks.

cevap

5

Yüklü denetim hakkında bilgi almak için yalnızca HttpContext.Current.Items kullanın.

Adından da anlaşılacağı gibi, HttpContext.Current yalnızca tek bir web isteği içindir. Eski verileri elden çıkarma veya temizleme konusunda endişelenmenize gerek yok.

if (HttpContext.Current.Items["I was here"] == null) 
{ 
    // do custom div magic 
    HttpContext.Current.Items["I was here"] = true; 
} 
+0

Teşekkürler! Bu harika @Marek –

+1

çalıştı Ama alt önbelleğe alma ve kişiselleştirme kullanıyorsanız% 100 güvenilir değildir. Tamamsa, devam edin –

+1

@JanBluemink ile tamamen katılıyorum. Bu alt çıkışın çıktısını önbelleğe alırsanız, kodun yürütülmeyeceğini göz önünde bulundurmalısınız. –

İlgili konular