这个我也不懂,就在网上找了一下相关的(类似的解决方法),不知帮得上忙不?
通过已知新闻分类名称查询该分类下的新闻标题
select n.title
from news as n
inner join newstype as nt
on n.typeid = nt.id
where nt.typename = '体育'
通过已知新闻分类ID查询该分类下的新闻标题
select title from news where typeid = 已知新闻分类ID
那么你就需要用DataList进行嵌套了.
<asp ataList ID="dl_newsType" runat="server">
<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem,"typename") %><hr/>
<asp ataList ID="dl_newsTitle" runat="server">
<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem,"title") %><br/><br/>
</ItemTemplate>
</asp ataList>
</ItemTemplate>
</asp:DataList>
在页面的PageLoad事件中写下列代码:
if(!IsPostBack)
{
this.dl_newsType.DataSource = 这里调用获取所有新闻类别的方法.
this.dl_newsType.DataBind();
}
在dl_newstype的ItemDataBound事件下面来取得每一项对应的新闻分类ID,并通过所取得的新闻分类ID来绑定该分类下的新闻标题,代码如下:
// 取得当前项中的新闻类别ID
int TypeID=Convert.ToInt32(DataBinder.Eval(e.Item.DataItem, "typeid"));
this.dl_newsTitle.DataSource = 这里传入新闻类别ID,调用根据新闻类别ID获取所有新闻标题的方法.
this.dl_newsTitle.DataBind(); |