asp.net – 为什么DataBind()方法是必要的?

前端之家收集整理的这篇文章主要介绍了asp.net – 为什么DataBind()方法是必要的?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
简单的问题,我猜。

很长一段时间,我以盲目的方式遵循(假定)常用的模式,以编程方式数据绑定我的ASP.NET控件。即:

gridView1.DataSource = someList;
gridView1.DataBind();

但是,如果我将GridView设置为通过DataSourceID属性绑定到DataSource控件,则调用DataBind()是不必要的。即:

gridView1.DataSourceID = LinqDataSource1;

足够了。

此外,如果您尝试在ASPX标记中设置DataSource属性,则会遇到以下问题:

You cannot set the DataSource property declaratively.

我假设这些都是相关的,但我仍然认为DataBind()是必要的。 DataSource和DataSourceID之间的区别是次要的 – 我可以理解那里发生的一些魔法。真正的问题是为什么DataSource属性设置器不会自动导致数据绑定?有没有我们想要设置DataSource但不绑定的场景?

解决方法

在ASP.Net中,通常重要的是在页面生命周期中的特定点可以使用某些数据,而不是在之前。例如,您可能需要提前绑定到下拉列表,以便稍后在该列表中设置所选索引。或者您可能希望稍等一下来绑定该大型网格以减少持续该连接的时间数量/将数据保留在内存中。

显式调用.DataBind()方法可以支持频谱两端的场景。

猜你在找的asp.Net相关文章