I am creating a function to hide all the gridview controls except the control whose name is being passed in the function.
Here this.Controls
referes to controls present in the page (At compilation error is thrown although). I want to fetch all the controls of type GridView with Name property not equal to the one passed in the funtion.
Now after getting a collection of GridView. I want to hide all the grids
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;
}
At comile time it shows me this.Control
as invalid because it is not a collection.
How can I achieve this on a web application
EDIT:
private void HideGridView(string gridToShow)
{
(from control in this.Controls.OfType<GridView>
where control.Name !=gridToShow
select control).ToList().ForEach(gv=>gv.Visible=false);
}
Here is the code I wrote, shows me an error: GridView
is a type but used like a variable (Compile time error).
And at where
Invalid Expression Term 'where'