我建立一个页面:index.aspx
有一个datalist控件
index.aspx.vb代码如下:
Dim cnn As New OleDbConnection("provider=microsoft.jet.oledb.4.0;data source=" & Server.MapPath("dbtest.mdb"))
Dim adt As New OleDbDataAdapter("select * from student order by id desc", cnn)
Dim ds As New DataSet
adt.Fill(ds, "student")
DataList1.DataSource = ds.Tables(0)
DataList1.ItemTemplate = Me.LoadTemplate("comments.ascx")
DataList1.DataBind()
我建了一个简单控件comments.ascx,这里只放了一个文本框,html代码如下:
<asp:TextBox id="TextBox1" runat="server" Text='<%# DataBinder.Eval(ds, "Tables[student].DefaultView.[0].jianjie") %>'></asp:TextBox>
这样,运行时出错如下:
编译器错误信息: BC30451: 名称“ds”未声明。
源错误:
行 3: <P>
行 4: <FONT face="宋体">
行 5: <asp:TextBox id="TextBox1" runat="server" Text='<%# DataBinder.Eval(ds, "Tables[student].DefaultView.[0].jianjie") %>'></asp:TextBox></P>
行 6: </FONT><FONT face="宋体"></FONT>
最后说明:数据库运行没有问题,不用控件时直接在index.aspx中使用文本框可以显示数据。
谢谢!
[此贴子已经被作者于2007-6-2 17:50:21编辑过]