
.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,
每出现一个大项,就会重复前面出现的内容,没办法解决(急) 展开
<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,
每出现一个大项,就会重复前面出现的内容,没办法解决(急) 展开
1个回答
展开全部
写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
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
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询