【发布时间】:2010-11-02 07:25:11
【问题描述】:
简单的问题,我猜。
很长一段时间以来,在以编程方式对我的 ASP.NET 控件进行数据绑定时,我一直盲目地遵循一种(假定的)常见模式。即:
gridView1.DataSource = someList;
gridView1.DataBind();
但是,如果我将 GridView 设置为通过 DataSourceID 属性绑定到 DataSource 控件,则无需调用 DataBind()。即:
gridView1.DataSourceID = LinqDataSource1;
足够了。
此外,如果您尝试在 ASPX 标记中设置 DataSource 属性,您会看到以下内容:
您不能以声明方式设置 DataSource 属性。
我认为这些是相关的,但我仍然对为什么需要 DataBind() 感到困惑。 DataSource 和 DataSourceID 之间的区别是次要的 - 我可以理解那里发生的一些魔术。真正的问题是为什么 DataSource 属性设置器不自动导致数据绑定? 有没有我们想要设置 DataSource 但不绑定到它的场景?
【问题讨论】:
标签: asp.net data-binding