加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

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

发布时间:2020-12-16 00:27:08 所属栏目:asp.Net 来源:网络整理
导读:简单的问题,我猜。 很长一段时间,我以盲目的方式遵循(假定)常用的模式,以编程方式数据绑定我的ASP.NET控件。即: gridView1.DataSource = someList;gridView1.DataBind(); 但是,如果我将GridView设置为通过DataSourceID属性绑定到DataSource控件,则调用
简单的问题,我猜。

很长一段时间,我以盲目的方式遵循(假定)常用的模式,以编程方式数据绑定我的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()方法可以支持频谱两端的场景。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读