TreeView执行时出现DataBinding:“System.Data.Common.DataRecordInternal”不包含名为“**”的属性,怎么解决?

aacckk 2008-01-05 02:19:34
我是asp.net初学者对控件等的使用不熟请教各位高手:
正常使用时:
protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e)
{
string mytreeview = this.TreeView1.SelectedValue.ToString();
SqlConnection con = new SqlConnection(ConfigurationManager.AppSettings["ConnectionString"]);
con.Open();
SqlCommand cmd = new SqlCommand("select * from vBook where CategoryName='"+mytreeview+"' or subCategoryName='" + submytreeview + "' ", con);
SqlDataReader myread = cmd.ExecuteReader();
//this.GridView1.DataSource = myread;
//this.GridView1.DataBind();
//con.Close();

this.DataList1.DataSource = myread;
this.DataList1.DataBind();

con.Close();

}

这里是datalist <ItemTemplate> 的html代码:
<td >
<asp:Label ID="Label2" runat="server" Text='<%# Eval("BookName") %>'>
</asp:Label>
<a> </td>

以上执行正常-----


错误出现时是因为:
我想用绑定的BookName链接到BookDetails.aspx于是加了<a href='BookDetails.aspx?id=<%# Eval( "BookID") %>'>
这里是datalist <ItemTemplate> 的html代码:
<td ><a href='BookDetails.aspx?id=<%# DataBinder.Eval(Container.DataItem, "BookID") %>'>

<asp:Label ID="Label2" runat="server" Text='<%# Eval("BookName") %>'>
</asp:Label>
<a> </td>

但是点击BookName可链接到BookDetails.aspx?id=(BookID)上.就是TreeView1_SelectedNodeChanged执行时出现错误:
(DataBinding:“System.Data.Common.DataRecordInternal”不包含名为“BookID”的属性)

怎样让datalist<ItemTemplate>中的BookName正常链接,而不影响TreeView1_SelectedNodeChanged的执行呢???????急盼.....

...全文
441 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Dymei 2008-12-26
  • 打赏
  • 举报
回复
其中的“?????”的属性是A表的主键,是B表的外键。不知带跟这个有没有关系
Dymei 2008-12-26
  • 打赏
  • 举报
回复
(DataBinding:“System.Data.Common.DataRecordInternal”不包含名为“?????”的属性。
在我往一个页面里加了两个datalist和repeater后就出现了这个问题。
help!!!

8,833

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 组件/控件开发
社区管理员
  • 组件/控件开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧