Nu skapar du bara en massa nya textboxobjekt, antar att du vill göra detta på redan befintliga? Du får loopa igenom alla kontroller på sidan, se efter om de är av typen textbox och sedan sätta värdt (eller tömma dem eller vad du försöker göra). Nåt i den här stilen:
protected void ClearAllTextBoxes() {
foreach (Control c in Page.Controls) {
// om det är en textbox, radera
if ((c.GetType() == typeof(TextBox)))
((TextBox)(c)).Text = string.Empty;
}
}
Har du andra kontroller som innehåller textboxar så kan du försöka kalla på funktionen rekursivt inne i foreach-loopen, modifiera den lite så att du tar kontrollen med kontroller som inparameter i funktionen.
Problemet med en for-loop är också att du måste ge dina textboxar massa ful-idn (id1, id2, id3 osv), kanske inte ett problem men... testa detta, bör hitta och tömma alla dina textbox oavsett din sidstruktur:
protected void ClearAllTextBoxes(Control parent) {
foreach (Control c in parent.Controls) {
// om det är en textbox, töm
if ((c.GetType() == typeof(TextBox)))
((TextBox)(c)).Text = string.Empty;
// om du stöter på en kontroll som i sin tur innehåller kontroller
if (c.HasControls)
ClearAllTextBoxes(c);
}
}
så länge det är alla texboxar som ska tömmas ja :bire
Japp, det såklart. :) Skulle jag tömma en del av sidans textboxar så skulle jag lägga dem i en placeholder och så en foreach på den... Men ska man inte göra något som kräver postback så kör på javascriptet!
Självklart ska det vara parentes på HasControls... sorry!
1019 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2