Я создаю функцию, чтобы скрыть все элементы управления gridview, кроме элемента управления, чье имя передается в функции.
Здесь this.Controls
относится к элементам управления, присутствующим на странице (При ошибке компиляции генерируется хотя).Я хочу получить все элементы управления типа GridView со свойством Name, не равным тому, которое передано в функцию.
Теперь после получения коллекции GridView.Я хочу скрыть все сетки
private void HideGridView(string gridToShow)
{
GridView[] result = from control in this.Controls
where control.GetType() == typeof(GridView) && control.Name !=gridToShow
select control as GridView;
foreach (var control in result)
control.Visible = false;
}
Во время компиляции он показывает мне this.Control
как недействительный, потому что это не коллекция.
How can I achieve this on a web application
РЕДАКТИРОВАТЬ:
private void HideGridView(string gridToShow)
{
(from control in this.Controls.OfType<GridView>
where control.Name !=gridToShow
select control).ToList().ForEach(gv=>gv.Visible=false);
}
Вот код, который я написал, показывает ошибку: GridView
- это тип, но используется как переменная (ошибка времени компиляции).И в where
недопустимый термин выражения, где '