题
这是一般的如何据绑定工作的问题...
我有一个简单的页面内,被束缚(在aspx代码)ObjectDataSource.
我可以看看在选择()function称为通过采用的技术以看到,这是所谓的初始装载,并在每后回来。我有一些逻辑上发生的后背,都会影响在内的数据,并且我想要呼叫。据绑定()后来在后回来后,我已经做了一些变化。
有没有办法防止自动重新绑定发生这种情况在每个岗位回来吗?这是不是意味着我不能使用ObjectDataSource对于这一控制?
解决方案
你是正确的在于精细的控制你要找的是不可能的,并要求代码后面。ASP.NET's的数据来源的对象都不过是一个痛苦的一个**.你会发现你用他们你会得到这样的情况下,种植了一次又一次。
一些问题,你会发现是:
- 不强类型
- 不灵活的(正如你已经指出)
- 泥泞了介绍码
我已经采取了这样做的所有数据访问代码背后并没有回头。
其他提示
我也使用这种自动绑定进行战斗,并认为我在这里发布了我的解决方案:
- 删除“DataSourceID”从ASPX页面,当它没有设置时,没有自动绑定
- 仅在需要DataBinding时才在CodeBehind中设置DataSourceID:myGridView.DataSourceID =" MyDataSource";
- 不显式调用myGridView.DataBind(),数据绑定在PreRender自动发生 醇>
我花了一些时间来弄明白这一点,但现在一切正常。
<强>上下文强>
我使用ObjectDatasource,因为它为我自动处理了Gridview的所有分页和排序。我正在使用Linq2SQL的数据层并使用其Skip()和Take()方法仅加载填充GridView的一页所需的数据量。
使用ObjectDataSource的 SelectMethod 和 SelectCountMethod
是。如果您希望在数据绑定发生时进行这种控制,则需要在后面的代码中执行此操作。
不隶属于 StackOverflow