Простой вопрос, я думаю.
В течение долгого времени я слепо следил за (предположительно) общим шаблоном, когда программно привязывал свои элементы управления ASP.NET. А именно:
gridView1.DataSource = someList;
gridView1.DataBind();
Однако, если я установил привязку GridView к элементу управления DataSource с помощью свойства DataSourceID, вызов DataBind() не нужен. А именно:
gridView1.DataSourceID = LinqDataSource1;
.
Кроме того, если вы попытаетесь установить свойство DataSource в разметке ASPX, вас встретит следующее:
Вы не можете установить свойство DataSource декларативно.
Я предполагаю, что они связаны друг с другом, но я все еще не понимаю, почему DataBind() необходим. Разница между DataSource и DataSourceID вторична - я могу понять, какая там магия. Реальный вопрос: Почему не настраивает собственный источник данных DataSource? Есть ли какие-либо сценарии, в которых мы хотим установить DataSource, но не привязываться к нему?