Добрый день.
Я на всех asp страницах, где есть гриды, использую SqlDataSource. Причем если запрос к БД можно описать декларативно, я так и делаю, если же он формируется динамически сложным образом, так что никак нельзя задать декларативно, то я в CodeBehind все равно работаю с SqlDataSource, например так:
Page_PreRender(...)
{
SqlDataSource.SelectCommand = " select * from " + sMytable + sQueryFilter;
DataGrid.Rebind();
}
хотя я везде встречаю примеры, где делается по другому:
Page_PreRender(...)
{
DataTable dt = new DataTable();
OracleDataAdapter da = new OracleDataAdapter(" select * from " + sMytable + sQueryFilter);
da.Fill(dt);
DataGrid.DataSource = dt;
}
Я делаю не так, а с использование SqlDataSource, потому что:
1. Использовать автоматические операции Insert/Update/Delete как я понимаю можно только при декларативной привязки данных
2. с SqlDataSource можно очень просто настраивать кэширование.
Скажите, я что то неправильно понимаю и криво использую или все нормально? :)