Asp.Net Repeater控件嵌套查询
【IT168技术文档】
我想实现的功能是现实一频道下的所有栏目下的前8篇文章。
html代码如下:
cs代码如下:<asp:Repeater ID="repChannel" runat="server" > <HeaderTemplate> <div class="leftList"> </HeaderTemplate> <ItemTemplate> <asp:Repeater ID="repCategory" runat="server" DataSource='<%# GetCategoryArticle(Eval("ID").ToString()) %>'> <HeaderTemplate> <div class="blank20"></div> <ul> </HeaderTemplate> <ItemTemplate> <li> <h5>[<a href='ShowCategory.aspx?CategoryID=<%# DataBinder.Eval(Container.DataItem, "CategoryID")%>'><%# DataBinder.Eval(Container.DataItem, "CategoryID")%></a>] <a href='ShowArticle.aspx?CategoryID=<%# DataBinder.Eval(Container.DataItem, "CategoryID")%>&ArticleID=<%# DataBinder.Eval(Container.DataItem, "Article.ID")%>'><%# DataBinder.Eval(Container.DataItem, "Article.Title")%></a></h5> <h6><%# DataBinder.Eval(Container.DataItem, "PubDate")%></h6> </li> </ItemTemplate> <FooterTemplate></ul></FooterTemplate> </asp:Repeater> </ItemTemplate> <FooterTemplate> </div> </FooterTemplate> </asp:Repeater>
CCListView视图如下:protected OleDbDataReader GetCategoryArticle(string cid) { string StrConn = ConfigurationManager.ConnectionStrings["jcbConnectionString"].ConnectionString; string strSql = "select top 8 * from CCListView where CategoryID=" + cid + " order by Article.ID desc"; OleDbConnection objConn = new OleDbConnection(StrConn); OleDbCommand objCmd = new OleDbCommand(strSql, objConn); objConn.Open(); return objCmd.ExecuteReader(CommandBehavior.CloseConnection); }
执行结果:
DataBinding:“System.Data.Common.DbDataRecord”不包含名为“Article”的属性。
0
相关文章