就是如何把一个dataset绑定到textbox控件中,并如何来做"下一条记录""上一条记录"之类的功能;
<asp:TextBox id="..." runat="server" Text='<%# BindExpression %>' />
BindExpression 换成你想要邦定数据的表达式,在适当的时候如Page_Load时使用TextBox.DataBind(),即可显示
使用诸如<%#...%>的绑定语法,可以将某些属性绑定到指定的表达式。
1、如果在Repeater,或者DataList或者DataGrid控件中使用,可以使用<%# Container.DataItem("ColumnA")%>这样的方式绑定显示数据源中的某列。
2、在页面上使用时,可以绑定该页的隐藏类中声明的公共变量,公共属性。如
public int a = 100;
可以在页面上使用这样<%# (this.a)%>绑定。
数据绑定以后,不表示它就会显示。每个控件都有DataBind方法,Page类上也有个DataBind方法,如果调用Page类的DataBind方法,则会引发Page类内控件调用DataBind方法。除非显式调用DataBind方法,否则数据绑定了,但是不会被显示。例如上面,在Repreater等控件中使用时,要调用这些控件的DataBind方法,数据才会被加载(当然前提是数据源有数据),而后者,分别调用每个控件的DataBind方法或者调用Page的DataBind方法,就可以将数据加载。
另外,你想把DataSet绑定给TextBox,这不合适,因为DataSet是表示为内存中的关系数据库结构,而相比而言文本框的数据结构很单薄,不知道你这样绑定想要实现什么功能。
如果你想要用文本框显示某条某列的值,那么建议在Page_Load加载页面时,直接对TextBox的Text属性赋值,更容易理解。
例如:
(下述使用原语说明,并不代表真正代码)
DataAdapter.Fill(DataSet,"TableName")
TextBox.Text = Convert.ToString(DataSet.Tables["TableName"].Rows[0].Item["ColumnName"]);