Я пытаюсь создать метод, чтобы просто очистить все текстовые поля в веб-форме.Looping Through Textboxes Использование IEnumerable Not Working
Это код, который я звоню:
private void clearFrom()
{
IEnumerable<TextBox> textBoxes = Controls.OfType<TextBox>();
foreach (TextBox textBox in textBoxes)
{
textBox.Text = string.Empty;
}
}
Это не ошибка, просто никогда не будет называть textBox.Text = string.Empty;
Я предполагаю, что список текстовых полей не был создан и подозреваемый Я пропустил важный шаг. Я думаю, есть что-то не так с Controls.OfType<TextBox>()
Я также попытался использовать следующее:
private void clearFrom()
{
IEnumerable<TextBox> Textboxes = (from Control c in this.Controls
where c.GetType() == typeof(TextBox)
select c).AsEnumerable().Cast<TextBox>();
FunctionalExtensions.ForEach(Textboxes, ClearTextBox);
}
public static class FunctionalExtensions
{
public static void ForEach<T>(IEnumerable<T> items, Action<T> DoSomething)
{
foreach (T item in items)
{
DoSomething(item);
}
}
}
private void ClearTextBox(TextBox txtbox)
{
txtbox.Text = string.Empty;
}
Опять не ошибка, но никогда не называли ClearTextBox
.
Я знаю, что это ошибка школьника C#, и, честно говоря, ни копейки не упали, как это делает IEnumerable
. Любая помощь будет оценена по достоинству.
Пробовал ли вы отлаживать программу? – Matt
Да, насколько я мог видеть, что текстовые поля не были выбраны в коллекцию. – ComfortablyNumb
@ Josh/@ Servy/@ DigitalD Спасибо всем за ваши предложения и образцы. Пенни - это своего рода падение! – ComfortablyNumb