如果我对其数据源设置为DataReader的页面上有控件,那么该控件是否在设置数据源时消耗读取器,或者在Databind执行之前数据头是否继续存在?
执行Databind时,幕后实际发生了什么?
答案 0 :(得分:1)
应该在执行DataBind时使用它。
答案 1 :(得分:1)
根据Control,DataBind()会将数据绑定到 控制。它通过迭代DataSource并创建来完成此操作 需要的Html和其他控件。
对于DropDownList,DataBind()将为每个创建ListItem 记录在DataSet中或ArrayList中的每个元素。
稍后Render方法调用DropDownList,它返回 选择标记的Html。它还为每个ListItem创建Html 在Select标签内返回Option标签。
对于Label,DataBind()会将Text设置为您从中拉出的值 数据库(例如)。
如果您没有为特定控件调用DataBind(),您也可以 确保为控件和调用设置了DataSource 的Page.DataBind()。这将通过Page和Page中的Controls 为每个Control调用所有DataBinds。
答案 2 :(得分:0)
数据绑定期间对datareader的控制是什么?它是否将其复制到其内部结构中并处理datareader然后呈现?
如果我在页面上有10个控件并将每个控件上的数据源设置为不同的datareader,然后调用page.databind,那么数据存储器将在整个时间内存在(从创建点到page.databind完成的点)它在处理)?