DataBind和Postback

Mic*_*oie 6 .net data-binding objectdatasource

这是一般的DataBind工作问题......

我有一个带有GridView的简单页面(在aspx代码中)绑定到ObjectDataSource.

我可以查看ObjectDataSource调用的Select()函数,看看它是在初始加载和每个回发时调用的.我在post backs上发生了一些会影响GridView数据的逻辑,我想在稍后的帖子中调用GridView.DataBind(),之后我做了一些更改.

有没有办法阻止每个帖子上发生的自动重新绑定?这是否意味着我不能将ObjectDataSource用于此控件?

Gav*_*ler 12

你是正确的,你正在寻找的细粒度控制是不可能的,并且需要背后的代码.ASP.NET的数据源对象只不过是a**的痛苦.当你使用它们时,你会发现这样的情况会一次又一次地出现.

您会发现的一些问题是:

  • 没有强烈打字
  • 不灵活(如你所知)
  • 搞砸演示文稿代码

我已经开始在后面的代码中进行所有数据访问,并且没有回头看.


Pet*_*gne 9

我也使用这种自动绑定进行了战斗,并认为我在这里发布我的解决方案:

  1. 从ASPX页面中删除"DataSourceID",当它未设置时,没有自动绑定
  2. 仅在需要DataBinding时才在CodeBehind中设置DataSourceID:myGridView.DataSourceID ="MyDataSource";
  3. 不要显式调用myGridView.DataBind(),数据绑定会在PreRender自动发生

我花了一段时间来弄清楚这一点,但现在一切正常.

上下文

我使用ObjectDatasource,因为它为我自动处理了Gridview的所有分页排序.我正在使用Linq2SQL的数据层,并使用其Skip()和Take()方法仅加载填充GridView的一页所需的数据量.

使用ObjectDataSource 的SelectMethodSelectCountMethod