ID - ASP.NET (VB) 'de belirli bir ad/desen ile her kontrole özellikler ekleyin

Kimliğindeki "DATE" kelimesini içeren bir sayfada birkaç kontrolüm var. Bunlar sadece tarihler için belirli metin kutularıdır.

Aşağıda, her metin kutusu kontrolü için İD'deki "DATE" ile ne yapmam gerektiğini gösteren bir örnek verilmiştir:

Birth_Date.Text = fnLib.formatDate(Birth_Date.Text, 1)

Anniversary_Date.Text = fnLib.formatDate(Anniversary_Date.Text, 1)

Her bir kontrol için bunu yapmak yerine, Her Döngü için bir çeşit bunu yapabileceğim bir yol var mı? ASP.Net (VB) 'ye oldukça yeniyim, bu yüzden hala öğreniyorum. Teşekkürler

1

1 cevap

Teknik olarak bunu bir döngü ile yapabilirsin, böyle bir şey gibi sahte bir şey.

foreach(Control currentControl in this.Controls)
{
   var currentTextbox = currentControl as TextBox;
   if(currentTextbox != null && currentTextbox.Id.EndsWith("_Date"))
     //DO your stuff here
}

Ama dürüst olmak gerekirse, özellikle çok fazla başka kontrol varsa, bu size çok fazla şey vermeyeceğinden emin değilim. Bu, öğeyi önce hedef türüne çevirmek zorunda olduğu için. Eğer bir çok başarısızlık varsa, büyük bir performans vuruşu olabilir.

2
katma
Çok geçerli noktalar competent_tech.
katma yazar Mitchel Sellers, kaynak
@james - Visual Studio'ya gideyim ve sizin için dönüştürüleceğim. (Benim VB paslı ...)
katma yazar Mitchel Sellers, kaynak
Kimlik, Kontrol'teki bir özellik olduğundan, deneme girişimi gerçekleştirmeden önce Kimlik testini gerçekleştirerek performans isabetini azaltabilirsiniz. Ayrıca, kapsayıcı denetimlerini (diğer denetimleri barındırabilen denetimler) hesaba katmalı ve her denetimde Kontroller koleksiyonunu kullanarak bu yöntemi yinelemeli olarak gerçekleştirmelisiniz.
katma yazar competent_tech, kaynak
@Mitchell Sellers - Bu C# ile aşina değilim ve ben bir dönüştürücü ile çalıştırmak için denedim ama başarısız değil gibi VB dönüştürülebilir herhangi bir şans? Teşekkürler
katma yazar James, kaynak
@MitchelSellers - Teşekkürler, büyük takdir!
katma yazar James, kaynak