1

如果我在将其数据源设置为 DataReader 的页面上有一个控件,该控件是否会在设置数据源时使用读取器,或者数据读取器是否会继续存在,直到 Databind 被执行?

执行 Databind 时,幕后究竟发生了什么?

4

3 回答 3

1

它应该在执行 DataBind 时使用。

于 2008-10-08T18:30:23.763 回答
1

根据控件,DataBind() 将数据绑定到控件。它通过遍历 DataSource 并创建所需的 Html 和其他控件来做到这一点。

对于 DropDownList,DataBind() 将为 DataSet 中的每个记录或 ArrayList 中的每个元素创建 ListItem。

稍后在 DropDownList 上调用 Render 方法,该方法返回 Select 标记的 Html。它还通过在 Select 标记内返回 Option 标记为每个 ListItem 创建 Html。

对于标签,DataBind() 会将 Text 设置为您从数据库中提取的值(例如)。

如果不为特定控件调用 DataBind(),还可以确保为控件设置了 DataSource,然后调用 Page.DataBind()。这将遍历页面中的控件并调用每个控件的所有 DataBinds。

于 2008-10-08T18:32:18.203 回答
0

数据绑定期间数据读取器的控件在做什么?它是否将其复制到其内部结构中并处理数据读取器然后渲染?

如果我在一个页面上有 10 个控件并将每个控件上的数据源设置为不同的数据读取器,然后称为 page.databind,数据读取器是否会一直存在(从创建点到 page.databind 完成处理) ?

于 2008-10-08T18:55:25.367 回答