Voeg eigenschappen toe aan elk besturingselement met een specifieke naam/patroon in de ID - ASP.NET (VB)

Ik heb verschillende besturingselementen op een pagina met het woord 'DATE' in de ID. Dit zijn specifieke tekstvakken voor alleen data.

Hier is een voorbeeld van wat ik moet doen voor elke tekstvakbesturing met "DATE" in de ID:

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

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

In plaats van dit voor elke afzonderlijke controle te doen, is er een manier waarop ik dit zou kunnen doen in een soort van For Each Loop? Ik ben vrij nieuw voor ASP.Net (VB), dus ik ben nog aan het leren. Bedankt

1

1 antwoord

Technisch gezien zou je dit met een lus kunnen doen, iets dat op deze manier gepseudeerd is.

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

Maar eerlijk gezegd ben ik er niet zeker van dat dit je veel zal opleveren, vooral als er veel andere besturingselementen zijn ... Omdat dit eerst moet proberen om het item naar het doeltype te casten. Wat als je veel mislukkingen hebt, een grote prestatiehit kan zijn.

2
toegevoegd
Zeer geldige punten competent_tech.
toegevoegd de auteur Mitchel Sellers, de bron
@james - laat me naar Visual Studio gaan en ik zal het voor je laten omzetten. (Mijn VB is roestig ...)
toegevoegd de auteur Mitchel Sellers, de bron
U kunt de prestatie die wordt veroorzaakt door het testen van de ID vóór de poging om te casten te verminderen, omdat Id een eigenschap op Control is. Houd ook rekening met containerbesturingselementen (besturingselementen die andere besturingselementen kunnen hosten) en voer deze methode recursief uit met de Controls-verzameling op elk besturingselement.
toegevoegd de auteur competent_tech, de bron
@Mitchell-verkopers: elke kans dat dit kan worden geconverteerd naar VB omdat ik niet bekend ben met C# en ik heb geprobeerd het door een converter te leiden, maar het lukt niet? Bedankt
toegevoegd de auteur James, de bron
@MitchelSellers - Bedankt, zeer gewaardeerd!
toegevoegd de auteur James, de bron