I'm using an ASP.Net page with a series of UpdatePanels (UpdateMode="Conditional"). Each update panel contains a databinding control like a ListView or a FormView. Because these controls are pulling data from various sources, each has its own Linq or SQL data source control. All of the data source controls are placed at the bottom of the page, outside of any update panel.
Any time I update any one of the ListViews or FormViews on the page, ALL of the datasources query the database server again, whether or not they are relevant to the ListView/FormView that was just updated. This slows performance dramatically. How do I know all of the data source controls are firing again? I put a trace on the SQL server and watched the queries generated by various page actions.
Is this appropriate behavior? I would expect that only the data sources bound to the control that was updated should fire again, not every single data source control on the entire page!