.net中DataList嵌套出错

做个论坛,想从数据表中查出所有发帖的分类并在每个分类下各列出该分类的3个最新发帖:<asp:DataListID="dladdr"runat="server"Width=... 做个论坛,想从数据表中查出所有发帖的分类并在每个分类下各列出该分类的3个最新发帖:
<asp:DataList ID="dladdr" runat="server" Width="100%" OnItemDataBound="dladdr_ItemDataBound1">
<ItemTemplate>
<asp:Label ID="lblname" runat="server" Text='<%#DataBinder.Eval(Container.DataItem,"AddrName") %>'></asp:Label> <asp:DataList ID="dladdrson" runat="server" Width="100%">
<ItemTemplate>

<%#DataBinder.Eval(Container.DataItem,"WriTit") %>
</ItemTemplate>
</asp:DataList>
</ItemTemplate>
</asp:DataList>

后台: protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{ dladdr.DataSource = asd.sqlGetwriAddressds();
dladdr.DataBind();
}
}

protected void dladdr_ItemDataBound1(object sender, DataListItemEventArgs e)
{
try
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
DataList myDataList1 = (DataList)e.Item.FindControl("dladdrson");

DataRowView row = (DataRowView)e.Item.DataItem;

string name = Convert.ToString(row["AddrName"]);
myDataList1.DataSource = ws.Searchallwritersbywriaddr(name);
myDataList1.DataBind();
}
}
catch (Exception ex)
{
Response.Write(ex.Message);
}

}
sql 语句:select top 3 * from( select * from writersinfo where WriAddress=@wriaddr) as tb10 order by WriDate desc
可是前面dladdrson的项,又在后一个dladdrson中累加了,比如:
第一大项是A:
嵌套的datalist列出结果是:
1,
2,
3,
第二大项B:中出现的应该是:
4,
5,
6,
相继要的结果是:
A
1,
2,
3,
B
4,
5,
6,
可结果却是这样的:
A
1,
2,
3,
B
1,
2,
3,
4,
5,
6,
每出现一个大项,就会重复前面出现的内容,没办法解决(急)
展开
 我来答
haoren411
2009-08-29 · TA获得超过186个赞
知道小有建树答主
回答量:449
采纳率:0%
帮助的人:207万
展开全部
写2种SQL语句嘛
select top 3 * from( select * from writersinfo where WriAddress=@wriaddr) as tb10 order by WriDate desc

select top 3 * from (select top 6 * from( select * from writersinfo where WriAddress=@wriaddr) as tb10 order by WriDate desc) order by WriDate desc
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式